From c5e894aab2ef924f4f8c3d7a65932e2c68c3086c Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Thu, 3 Oct 2024 13:50:38 +0200 Subject: [BOX32] More check for low alignment in memalign wrapped functions --- src/mallochook.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src') 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); } -- cgit 1.4.1