commit c2cda947c99293794f591036fd1bf5a099da5ceb (tree)
parent 7b9f8782c868b8331181bd47361e4dee2d8aebfe
Author: Jacob Young <jacobly0@users.noreply.github.com>
Date: Sun, 5 Nov 2023 09:29:34 -0500
src: fix memory leaks
Diffstat:
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/Module.zig b/src/Module.zig
@@ -4120,7 +4120,7 @@ pub fn embedFile(
}
return error.ImportOutsideModulePath;
};
- errdefer gpa.free(sub_file_path);
+ defer gpa.free(sub_file_path);
return newEmbedFile(mod, cur_file.mod, sub_file_path, resolved_path, gop, src_loc);
}
diff --git a/src/Sema.zig b/src/Sema.zig
@@ -23488,6 +23488,7 @@ fn zirSelect(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstData) C
if (b_val.isUndef(mod)) return mod.undefRef(vec_ty);
const elems = try sema.gpa.alloc(InternPool.Index, vec_len);
+ defer sema.gpa.free(elems);
for (elems, 0..) |*elem, i| {
const pred_elem_val = try pred_val.elemValue(mod, i);
const should_choose_a = pred_elem_val.toBool();
diff --git a/src/link/Elf.zig b/src/link/Elf.zig
@@ -392,6 +392,7 @@ pub fn deinit(self: *Elf) void {
self.copy_rel.deinit(gpa);
self.rela_dyn.deinit(gpa);
self.rela_plt.deinit(gpa);
+ self.zig_got.deinit(gpa);
}
pub fn getDeclVAddr(self: *Elf, decl_index: Module.Decl.Index, reloc_info: link.File.RelocInfo) !u64 {