aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2022-09-07 15:29:21 +0200
committerJakub Konka <kubkon@jakubkonka.com>2022-09-07 22:42:59 +0200
commit8ef1c62f2efc4a43e8b38d3cacf4fd930add7f46 (patch)
tree509f0216203abde559a0c5a9f654b3df8a3bb66d /src
parent215fce8c51662970d34ae1f4bf1cd043071fea8a (diff)
downloadzig-8ef1c62f2efc4a43e8b38d3cacf4fd930add7f46.tar.gz
zig-8ef1c62f2efc4a43e8b38d3cacf4fd930add7f46.zip
macho: properly close file handles owned by the linker in deinit()
Diffstat (limited to 'src')
-rw-r--r--src/link/MachO.zig11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig
index af25441066..bceaa55d8a 100644
--- a/src/link/MachO.zig
+++ b/src/link/MachO.zig
@@ -3013,6 +3013,7 @@ pub fn deinit(self: *MachO) void {
}
if (self.d_sym) |*d_sym| {
+ d_sym.file.close();
d_sym.deinit(gpa);
}
@@ -3041,6 +3042,7 @@ pub fn deinit(self: *MachO) void {
self.objects.deinit(gpa);
for (self.archives.items) |*archive| {
+ archive.file.close();
archive.deinit(gpa);
}
self.archives.deinit(gpa);
@@ -3086,15 +3088,6 @@ pub fn deinit(self: *MachO) void {
self.atom_by_index_table.deinit(gpa);
}
-pub fn closeFiles(self: MachO) void {
- for (self.archives.items) |archive| {
- archive.file.close();
- }
- if (self.d_sym) |ds| {
- ds.file.close();
- }
-}
-
fn freeAtom(self: *MachO, atom: *Atom, sect_id: u8, owns_atom: bool) void {
log.debug("freeAtom {*}", .{atom});
if (!owns_atom) {