fix assertion in mi_free_size (issue #754)

This commit is contained in:
Daan 2025-04-13 19:56:49 -07:00
parent a5298dd48f
commit fae61ed946

View file

@ -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 { void mi_free_size(void* p, size_t size) mi_attr_noexcept {
MI_UNUSED_RELEASE(size); MI_UNUSED_RELEASE(size);
#if MI_DEBUG #if MI_DEBUG
mi_segment_t* const segment = mi_checked_ptr_segment(p,"mi_free_size"); const size_t available = _mi_usable_size(p,"mi_free_size");
if mi_unlikely(segment==NULL) return; mi_assert(p == NULL || size <= available || available == 0 /* invalid pointer */ );
mi_assert(p == NULL || size <= _mi_usable_size(p,"mi_free_size"));
#endif #endif
mi_free(p); mi_free(p);
} }