From 25216e5b58688eba12090aa24868764d9b2cab12 Mon Sep 17 00:00:00 2001 From: Adrian Warecki Date: Wed, 15 Jan 2025 16:03:58 +0100 Subject: [PATCH] regions_mm: vmh_free: Prevent null pointer dereference The vmh_free function may have referenced a null pointer if an invalid pointer to be freed was passed to it. Before referencing the allocator array item, check if it has been initialized. Signed-off-by: Adrian Warecki --- zephyr/lib/regions_mm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/zephyr/lib/regions_mm.c b/zephyr/lib/regions_mm.c index 7b391284d824..b921b9c24a96 100644 --- a/zephyr/lib/regions_mm.c +++ b/zephyr/lib/regions_mm.c @@ -571,6 +571,10 @@ int vmh_free(struct vmh_heap *heap, void *ptr) for (mem_block_iter = 0, ptr_range_found = false; mem_block_iter < MAX_MEMORY_ALLOCATORS_COUNT; mem_block_iter++) { + /* continiue so we do not check mem blocks that do not exist */ + if (!heap->physical_blocks_allocators[mem_block_iter]) + continue; + block_size = 1 << heap->physical_blocks_allocators[mem_block_iter]->info.blk_sz_shift;