From fae61ed946ceaf88f8e902aa596bb46305b531d6 Mon Sep 17 00:00:00 2001 From: Daan Date: Sun, 13 Apr 2025 19:56:49 -0700 Subject: [PATCH] fix assertion in mi_free_size (issue #754) --- src/free.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/free.c b/src/free.c index 22284135..d0940a16 100644 --- a/src/free.c +++ b/src/free.c @@ -341,9 +341,8 @@ mi_decl_nodiscard size_t mi_usable_size(const void* p) mi_attr_noexcept { void mi_free_size(void* p, size_t size) mi_attr_noexcept { MI_UNUSED_RELEASE(size); #if MI_DEBUG - mi_segment_t* const segment = mi_checked_ptr_segment(p,"mi_free_size"); - if mi_unlikely(segment==NULL) return; - mi_assert(p == NULL || size <= _mi_usable_size(p,"mi_free_size")); + const size_t available = _mi_usable_size(p,"mi_free_size"); + mi_assert(p == NULL || size <= available || available == 0 /* invalid pointer */ ); #endif mi_free(p); }