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) {