arena: allow freeing NULL This is a convenience for test code. Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
diff --git a/kern/src/arena.c b/kern/src/arena.c index e4ac586..b51bd4e 100644 --- a/kern/src/arena.c +++ b/kern/src/arena.c
@@ -1152,6 +1152,8 @@ void arena_free(struct arena *arena, void *addr, size_t size) { + if (!addr) + return; size = ROUNDUP(size, arena->quantum); if (size <= arena->qcache_max) return kmem_cache_free(size_to_qcache(arena, size), addr); @@ -1160,6 +1162,8 @@ void arena_xfree(struct arena *arena, void *addr, size_t size) { + if (!addr) + return; size = ROUNDUP(size, arena->quantum); free_from_arena(arena, addr, size); }