fix(audit): Free previous values in EntryBuilder setters
- setTable, setSql, setBefore, setAfter now free old value before setting new - Prevents memory leak if setter is called multiple times on same builder
This commit is contained in:
parent
489a461732
commit
2d334edf96
1 changed files with 8 additions and 0 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue