From 53b91866c4ea9de84a96bdd74d3d1b76e2a91a4c Mon Sep 17 00:00:00 2001 From: Will Carter <41378465+WilliamHCarter@users.noreply.github.com> Date: Tue, 16 Jun 2026 21:17:54 -0400 Subject: [PATCH] fix: prevent arena leak on allocation failure --- src/InternalScreen.zig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/InternalScreen.zig b/src/InternalScreen.zig index 27ff18a2..61f2c2a7 100644 --- a/src/InternalScreen.zig +++ b/src/InternalScreen.zig @@ -50,7 +50,9 @@ mouse_shape: MouseShape = .default, /// sets each cell to the default cell pub fn init(gpa: std.mem.Allocator, w: u16, h: u16) !InternalScreen { const arena = try gpa.create(std.heap.ArenaAllocator); + errdefer gpa.destroy(arena); arena.* = .init(gpa); + errdefer arena.deinit(); var screen = InternalScreen{ .arena = arena, .buf = try arena.allocator().alloc(InternalCell, @as(usize, @intCast(w)) * h),