From 74be85ac145cc6de5d03348e07be8d982c2211cb Mon Sep 17 00:00:00 2001 From: Jose Colon Rodriguez Date: Thu, 28 Mar 2024 10:06:00 -0400 Subject: PropsData and errdefers for init fns --- src/ScriptsData.zig | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/ScriptsData.zig') diff --git a/src/ScriptsData.zig b/src/ScriptsData.zig index ac1c46a..4e371bf 100644 --- a/src/ScriptsData.zig +++ b/src/ScriptsData.zig @@ -193,14 +193,17 @@ pub fn init(allocator: mem.Allocator) !Self { const s1_len: u16 = try reader.readInt(u16, endian); self.s1 = try allocator.alloc(u16, s1_len); + errdefer allocator.free(self.s1); for (0..s1_len) |i| self.s1[i] = try reader.readInt(u16, endian); const s2_len: u16 = try reader.readInt(u16, endian); self.s2 = try allocator.alloc(u8, s2_len); + errdefer allocator.free(self.s2); _ = try reader.readAll(self.s2); const s3_len: u16 = try reader.readInt(u8, endian); self.s3 = try allocator.alloc(u8, s3_len); + errdefer allocator.free(self.s3); _ = try reader.readAll(self.s3); return self; -- cgit v1.2.3