From 583c2437b41748f5c948917cb56f3a403d5a5792 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Fri, 10 Jul 2026 10:14:48 +0300 Subject: [PATCH] LibC: Don't munmap nullptr with 0 size in malloc --- userspace/libraries/LibC/malloc.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/userspace/libraries/LibC/malloc.cpp b/userspace/libraries/LibC/malloc.cpp index 933f1311..884aba96 100644 --- a/userspace/libraries/LibC/malloc.cpp +++ b/userspace/libraries/LibC/malloc.cpp @@ -264,10 +264,12 @@ void* malloc(size_t total_size) if (new_allocators == MAP_FAILED) goto malloc_return; - static_assert(BAN::is_trivially_copyable_v); - memcpy(new_allocators, s_allocators, s_allocator_count * sizeof(BitmapAllocator)); - - munmap(s_allocators, s_allocator_capacity * sizeof(BitmapAllocator)); + if (s_allocators != nullptr) + { + static_assert(BAN::is_trivially_copyable_v); + memcpy(new_allocators, s_allocators, s_allocator_count * sizeof(BitmapAllocator)); + munmap(s_allocators, s_allocator_capacity * sizeof(BitmapAllocator)); + } s_allocators = static_cast(new_allocators); s_allocator_capacity = new_allocator_pages * page_size / sizeof(BitmapAllocator);