:: commit 06e7b78e33caeeb484d60d26dcb8f3ad6ac3bef2

Mintsuki <mintsuki@protonmail.com> — 2025-03-25 20:52

parents: e4d1f3e706

pmm: Handle freeing and allocating fresh ptrs via realloc()

diff --git a/common/mm/pmm.s2.c b/common/mm/pmm.s2.c
index afc74023..8a7196c8 100644
--- a/common/mm/pmm.s2.c
+++ b/common/mm/pmm.s2.c
@@ -553,6 +553,16 @@ void pmm_free(void *ptr, size_t count) {
 }
 
 void *pmm_realloc(void *old_ptr, size_t old_size, size_t new_size) {
+    if (new_size == 0) {
+        if (old_ptr != NULL) {
+            pmm_free(old_ptr, old_size);
+        }
+        return NULL;
+    }
+    if (old_ptr == NULL) {
+        return ext_mem_alloc(new_size);
+    }
+
     void *new_ptr = ext_mem_alloc(new_size);
 
     memcpy(new_ptr, old_ptr, MIN(new_size, old_size));
tab: 248 wrap: offon