diff --git a/src/audit/entry.zig b/src/audit/entry.zig index 42aabb7..4c10c82 100644 --- a/src/audit/entry.zig +++ b/src/audit/entry.zig @@ -357,6 +357,8 @@ pub const EntryBuilder = struct { } pub fn setTable(self: *Self, table: []const u8) !*Self { + // Liberar valor anterior si existe (evitar leak si se llama 2 veces) + if (self.table) |t| self.allocator.free(t); self.table = try self.allocator.dupe(u8, table); return self; } @@ -367,16 +369,22 @@ pub const EntryBuilder = struct { } pub fn setSql(self: *Self, sql: []const u8) !*Self { + // Liberar valor anterior si existe + if (self.sql) |s| self.allocator.free(s); self.sql = try self.allocator.dupe(u8, sql); return self; } pub fn setBefore(self: *Self, before: []const u8) !*Self { + // Liberar valor anterior si existe + if (self.before) |b| self.allocator.free(b); self.before = try self.allocator.dupe(u8, before); return self; } pub fn setAfter(self: *Self, after: []const u8) !*Self { + // Liberar valor anterior si existe + if (self.after) |a| self.allocator.free(a); self.after = try self.allocator.dupe(u8, after); return self; }