| // Copyright 2020 PDFium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Deliberately not including opj_malloc.h, which has poisoned malloc and |
| // friends. |
| |
| #include "core/fxcrt/fx_memory.h" |
| #include "third_party/base/memory/aligned_memory.h" |
| |
| extern "C" { |
| |
| void* opj_malloc(size_t size) { |
| return FXMEM_DefaultAlloc(size); |
| } |
| |
| void* opj_calloc(size_t numOfElements, size_t sizeOfElements) { |
| return FXMEM_DefaultCalloc(numOfElements, sizeOfElements); |
| } |
| |
| void* opj_aligned_malloc(size_t size) { |
| return size ? pdfium::base::AlignedAlloc(size, 16) : nullptr; |
| } |
| |
| void opj_aligned_free(void* ptr) { |
| pdfium::base::AlignedFree(ptr); |
| } |
| |
| void* opj_aligned_32_malloc(size_t size) { |
| return size ? pdfium::base::AlignedAlloc(size, 32) : nullptr; |
| } |
| |
| void* opj_realloc(void* m, size_t s) { |
| return FXMEM_DefaultRealloc(m, s); |
| } |
| |
| void opj_free(void* m) { |
| if (m) |
| FXMEM_DefaultFree(m); |
| } |
| |
| } // extern "C" |