1 // Copyright 2020 The PDFium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Deliberately not including opj_malloc.h, which has poisoned malloc and 6 // friends. 7 8 #include "core/fxcrt/fx_memory.h" 9 #include "third_party/base/memory/aligned_memory.h" 10 11 extern "C" { 12 opj_malloc(size_t size)13void* opj_malloc(size_t size) { 14 return FXMEM_DefaultAlloc(size); 15 } 16 opj_calloc(size_t numOfElements,size_t sizeOfElements)17void* opj_calloc(size_t numOfElements, size_t sizeOfElements) { 18 return FXMEM_DefaultCalloc(numOfElements, sizeOfElements); 19 } 20 opj_aligned_malloc(size_t size)21void* opj_aligned_malloc(size_t size) { 22 return size ? pdfium::base::AlignedAlloc(size, 16) : nullptr; 23 } 24 opj_aligned_free(void * ptr)25void opj_aligned_free(void* ptr) { 26 pdfium::base::AlignedFree(ptr); 27 } 28 opj_aligned_32_malloc(size_t size)29void* opj_aligned_32_malloc(size_t size) { 30 return size ? pdfium::base::AlignedAlloc(size, 32) : nullptr; 31 } 32 opj_realloc(void * m,size_t s)33void* opj_realloc(void* m, size_t s) { 34 return FXMEM_DefaultRealloc(m, s); 35 } 36 opj_free(void * m)37void opj_free(void* m) { 38 if (m) 39 FXMEM_DefaultFree(m); 40 } 41 42 } // extern "C" 43