about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-10-03 11:36:12 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-10-03 11:36:12 +0200
commitc4184ef7333c08a3bab6f96eb6807232b3e4cdb6 (patch)
treed75bb6f0cb5ff4b34461132451fec274d8cbe5cf /src
parent6a5049b22c791abc4bdcf8268298f9ce3b873df1 (diff)
downloadbox64-c4184ef7333c08a3bab6f96eb6807232b3e4cdb6.tar.gz
box64-c4184ef7333c08a3bab6f96eb6807232b3e4cdb6.zip
[BOX32] Added workaround for posix_memalign when used with align of 4
Diffstat (limited to 'src')
-rw-r--r--src/mallochook.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mallochook.c b/src/mallochook.c
index abdadc8d..08db1429 100644
--- a/src/mallochook.c
+++ b/src/mallochook.c
@@ -257,7 +257,9 @@ EXPORT int posix_memalign(void** p, size_t align, size_t size)
     if(malloc_hack_2 && ALLOC && real_posix_memalign) {
         return RunFunctionFmt(real_posix_memalign, "pLL", p, align, size);
     }
-    if(align%sizeof(void*) || pot(align)!=align)
+    if(box64_is32bits && align==4)
+        align = sizeof(void*);
+    if((align%sizeof(void*)) || (pot(align)!=align))
         return EINVAL;
     void* ret = box_memalign(align, size);
     if(!ret)