diff options
author | dzwdz | 2022-07-20 17:26:25 +0200 |
---|---|---|
committer | dzwdz | 2022-07-20 17:26:25 +0200 |
commit | bc49ea97bb61bbe55af3e847a88a649d04a93777 (patch) | |
tree | 858fb9ed3427477405b0461241d6dcafd70a5892 /src/kernel/mem/alloc.c | |
parent | bdb25024a3fe0c8630fd68d9ba618df595effa36 (diff) |
user/elf: free memory not belonging to the elf when jumping to it
Diffstat (limited to 'src/kernel/mem/alloc.c')
-rw-r--r-- | src/kernel/mem/alloc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/kernel/mem/alloc.c b/src/kernel/mem/alloc.c index e0cc5f4..8d6fa5b 100644 --- a/src/kernel/mem/alloc.c +++ b/src/kernel/mem/alloc.c @@ -101,6 +101,8 @@ void *page_zalloc(size_t pages) { // frees `pages` consecutive pages starting from *first void page_free(void *first_addr, size_t pages) { + if (first_addr < page_bitmap_start) // TODO unimplemented + return; size_t first = (uintptr_t)(first_addr - page_bitmap_start) / PAGE_SIZE; for (size_t i = 0; i < pages; i++) { assert(bitmap_get(first + i)); |