From 8ef1c62f2efc4a43e8b38d3cacf4fd930add7f46 Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Wed, 7 Sep 2022 15:29:21 +0200 Subject: [PATCH] macho: properly close file handles owned by the linker in deinit() --- src/link/MachO.zig | 11 ++--------- 1 file 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) {