xref: /aosp_15_r20/external/pdfium/third_party/libopenjpeg/opj_malloc.cc (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
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)13 void* opj_malloc(size_t size) {
14   return FXMEM_DefaultAlloc(size);
15 }
16 
opj_calloc(size_t numOfElements,size_t sizeOfElements)17 void* opj_calloc(size_t numOfElements, size_t sizeOfElements) {
18   return FXMEM_DefaultCalloc(numOfElements, sizeOfElements);
19 }
20 
opj_aligned_malloc(size_t size)21 void* opj_aligned_malloc(size_t size) {
22   return size ? pdfium::base::AlignedAlloc(size, 16) : nullptr;
23 }
24 
opj_aligned_free(void * ptr)25 void opj_aligned_free(void* ptr) {
26   pdfium::base::AlignedFree(ptr);
27 }
28 
opj_aligned_32_malloc(size_t size)29 void* 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)33 void* opj_realloc(void* m, size_t s) {
34   return FXMEM_DefaultRealloc(m, s);
35 }
36 
opj_free(void * m)37 void opj_free(void* m) {
38   if (m)
39     FXMEM_DefaultFree(m);
40 }
41 
42 }  // extern "C"
43