From be2cb44de44b13c5905886a16c7b46c498125321 Mon Sep 17 00:00:00 2001 From: daanx Date: Wed, 15 Jan 2025 12:02:34 -0800 Subject: [PATCH] fix NULL pointer in _mi_safe_ptr_page to return a reference to the empty page --- src/page-map.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/page-map.c b/src/page-map.c index 25f8a7ec..641ab405 100644 --- a/src/page-map.c +++ b/src/page-map.c @@ -305,7 +305,7 @@ void _mi_page_map_unregister(mi_page_t* page) { size_t sub_idx; const size_t idx = mi_page_map_get_idx(page, &sub_idx, &slice_count); // unset the offsets - mi_page_map_set_range(NULL, idx, sub_idx, slice_count); + // mi_page_map_set_range(NULL, idx, sub_idx, slice_count); } void _mi_page_map_unregister_range(void* start, size_t size) { @@ -318,6 +318,7 @@ void _mi_page_map_unregister_range(void* start, size_t size) { mi_page_t* _mi_safe_ptr_page(const void* p) { if mi_unlikely(p >= mi_page_map_max_address) return NULL; + if (p == NULL) return (mi_page_t*)&_mi_page_empty; // to match mi_free expectation size_t sub_idx; const size_t idx = _mi_page_map_index(p,&sub_idx); if mi_unlikely(!mi_page_map_is_committed(idx,NULL)) return NULL;