aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-11-05 09:29:34 -0500
committerJacob Young <jacobly0@users.noreply.github.com>2023-11-05 11:54:29 -0500
commitc2cda947c99293794f591036fd1bf5a099da5ceb (patch)
tree736f942a86803f322d2043f952b49ff35d039e43 /src
parent7b9f8782c868b8331181bd47361e4dee2d8aebfe (diff)
downloadzig-c2cda947c99293794f591036fd1bf5a099da5ceb.tar.gz
zig-c2cda947c99293794f591036fd1bf5a099da5ceb.zip
src: fix memory leaks
Diffstat (limited to 'src')
-rw-r--r--src/Module.zig2
-rw-r--r--src/Sema.zig1
-rw-r--r--src/link/Elf.zig1
3 files changed, 3 insertions, 1 deletions
diff --git a/src/Module.zig b/src/Module.zig
index 707ff41615..eda4624bd0 100644
--- 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
index 4f557d33ac..2cd834862a 100644
--- 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
index ab986aeaf9..7311bd38b4 100644
--- 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 {