From 7563ab97ed85bf4bd0516198feab4cda2684c258 Mon Sep 17 00:00:00 2001 From: daanx Date: Fri, 19 May 2023 21:15:03 -0700 Subject: [PATCH 1/2] fix alignment in meta_zalloc; issue #749 --- src/arena.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arena.c b/src/arena.c index 7ddbea7f..345621e3 100644 --- a/src/arena.c +++ b/src/arena.c @@ -172,7 +172,7 @@ static void* mi_arena_meta_zalloc(size_t size, mi_memid_t* memid, mi_stats_t* st *memid = _mi_memid_none(); // try static - void* p = mi_arena_static_zalloc(size, MI_ALIGNMENT_MAX, memid); + void* p = mi_arena_static_zalloc(size, MI_MAX_ALIGN_SIZE, memid); if (p != NULL) return p; // or fall back to the OS From cfacbacabae759718fbbc28dbab88137048b7f49 Mon Sep 17 00:00:00 2001 From: daanx Date: Fri, 19 May 2023 21:18:40 -0700 Subject: [PATCH 2/2] fix zero initialization in mi_arena_meta_zalloc, issue #750 --- src/arena.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/arena.c b/src/arena.c index 345621e3..0f71e978 100644 --- a/src/arena.c +++ b/src/arena.c @@ -176,7 +176,13 @@ static void* mi_arena_meta_zalloc(size_t size, mi_memid_t* memid, mi_stats_t* st if (p != NULL) return p; // or fall back to the OS - return _mi_os_alloc(size, memid, stats); + p = _mi_os_alloc(size, memid, stats); + if (p == NULL) return NULL; + + if (!memid->initially_zero) { + _mi_memzero_aligned(p, size); + } + return p; } static void mi_arena_meta_free(void* p, mi_memid_t memid, size_t size, mi_stats_t* stats) {