From e217f11c188e9f47031cf4f80d4ac54a93e92671 Mon Sep 17 00:00:00 2001 From: Jake Koroman Date: Thu, 30 Oct 2025 09:50:26 -0400 Subject: jrk.h: update prev_offset in arena_resize, and always init the memory. --- jrk.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'jrk.h') diff --git a/jrk.h b/jrk.h index e65c1cc..bf3c970 100644 --- a/jrk.h +++ b/jrk.h @@ -494,14 +494,16 @@ jrk_arena_resize(jrk_Arena *arena, void *old, u64 old_size, u64 new_size) if (old == &arena->data[arena->prev_offset]) { result = old; + arena->prev_offset = arena->offset; arena->offset = new_size; + memset(&arena->data[arena->prev_offset], 0, new_size - old_size); } else { result = &arena->data[arena->offset]; arena->prev_offset = arena->offset; arena->offset += new_size; if (arena->offset > arena->capacity) { jrk_errorv("jrk_arena_resize(%p, %p, %ld, %ld): arena resize requires %ld bytes but has a capacity of %ld bytes", - (void *) arena, old, old_size, new_size, arena->offset, arena->capacity); + (void *) arena, old, old_size, new_size, arena->offset, arena->capacity); return NULL; } memmove(result, old, old_size); -- cgit v1.2.3