diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mallochook.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mallochook.c b/src/mallochook.c index 08db1429..a273f25d 100644 --- a/src/mallochook.c +++ b/src/mallochook.c @@ -236,19 +236,24 @@ EXPORT void* realloc(void* p, size_t s) return box_realloc(p, s); } -EXPORT void* aligned_alloc(size_t align, size_t size) +EXPORT void* memalign(size_t align, size_t size) { if(malloc_hack_2 && ALLOC && real_aligned_alloc) { return (void*)RunFunctionFmt(real_aligned_alloc, "LL", align, size); } + if(box64_is32bits && align==4) + align = sizeof(void*); return box_memalign(align, size); } -EXPORT void* memalign(size_t align, size_t size) +EXPORT void* aligned_alloc(size_t align, size_t size) { if(malloc_hack_2 && ALLOC && real_aligned_alloc) { return (void*)RunFunctionFmt(real_aligned_alloc, "LL", align, size); } + if(box64_is32bits && align==4) { + return memalign(align, size); + } return box_memalign(align, size); } |