From 8243f623aa1ffcb2a06b5fe8e7eb83fa571c7978 Mon Sep 17 00:00:00 2001 From: hardened-steel Date: Thu, 5 Dec 2019 12:10:16 +0300 Subject: [PATCH] fix segfault error in mi_os_mem_free if was_commited has value "false" then we can't access to memory at "addr" --- src/os.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/os.c b/src/os.c index 341858be..3acd0dbc 100644 --- a/src/os.c +++ b/src/os.c @@ -219,7 +219,8 @@ static bool mi_os_mem_free(void* addr, size_t size, bool was_committed, mi_stats { if (addr == NULL || size == 0 || _mi_os_is_huge_reserved(addr)) return true; bool err = false; - _mi_call_user_cleanup(addr, size); + if(was_committed) + _mi_call_user_cleanup(addr, size); #if defined(_WIN32) err = (VirtualFree(addr, 0, MEM_RELEASE) == 0); #elif defined(__wasi__)