From fefde021b90532b972516fa252beca045f77fe3f Mon Sep 17 00:00:00 2001 From: Maschell Date: Sat, 12 Feb 2022 20:49:16 +0100 Subject: [PATCH] wutmalloc: Fix memalign to ensure the size is aligned (#196) This fixes situations that can arise in places such as FSReadFile/FSWriteFile, in which buffer sizes need to be aligned to 0x40; otherwise heap corruptions could happen when multithreading. --- libraries/wutmalloc/wut_malloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/wutmalloc/wut_malloc.c b/libraries/wutmalloc/wut_malloc.c index c4857218..d955a684 100644 --- a/libraries/wutmalloc/wut_malloc.c +++ b/libraries/wutmalloc/wut_malloc.c @@ -69,7 +69,7 @@ _calloc_r(struct _reent *r, size_t num, size_t size) void * _memalign_r(struct _reent *r, size_t align, size_t size) { - return MEMAllocFromDefaultHeapEx(size, align); + return MEMAllocFromDefaultHeapEx((size + align - 1) & ~(align - 1), align); } struct mallinfo _mallinfo_r(struct _reent *r)