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