diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2022-09-07 15:29:21 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2022-09-07 22:42:59 +0200 |
| commit | 8ef1c62f2efc4a43e8b38d3cacf4fd930add7f46 (patch) | |
| tree | 509f0216203abde559a0c5a9f654b3df8a3bb66d /src | |
| parent | 215fce8c51662970d34ae1f4bf1cd043071fea8a (diff) | |
| download | zig-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.zig | 11 |
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) { |
