From 7948d3fd1ae72c1ad8a8b3b0842aba4825e729fd Mon Sep 17 00:00:00 2001 From: Abdelrahman Date: Sat, 24 Feb 2024 23:01:26 +0000 Subject: [PATCH] Ensure arena is freed when initialisation fails --- mem/src/arena/mem_arena.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mem/src/arena/mem_arena.c b/mem/src/arena/mem_arena.c index 330259f..f1dc5d4 100644 --- a/mem/src/arena/mem_arena.c +++ b/mem/src/arena/mem_arena.c @@ -49,12 +49,14 @@ bool mem_arena_init(Arena **arena, u64 base_capacity) { arena_ptr->active_arena = (BaseArena *)malloc(sizeof(BaseArena)); if (!(arena_ptr->active_arena)) { + mem_arena_free(arena); return false; } memset(arena_ptr->active_arena, 0, sizeof(BaseArena)); if (!base_arena_init(arena_ptr->active_arena, base_capacity)) { + mem_arena_free(arena); return false; }