From 22b39f034b495176784f7ca295cf61c285958abe Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Fri, 23 Dec 2022 14:35:45 +0100 Subject: [PATCH] macho+zld: properly deinit code signature object --- src/link/MachO.zig | 3 ++- src/link/MachO/zld.zig | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/link/MachO.zig b/src/link/MachO.zig index 67c67bb8a4..733f2a6c2a 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -574,11 +574,12 @@ pub fn flushModule(self: *MachO, comp: *Compilation, prog_node: *std.Progress.No var codesig = CodeSignature.init(self.page_size); codesig.code_directory.ident = self.base.options.emit.?.sub_path; if (self.base.options.entitlements) |path| { - try codesig.addEntitlements(arena, path); + try codesig.addEntitlements(self.base.allocator, path); } try self.writeCodeSignaturePadding(&codesig); break :blk codesig; } else null; + defer if (codesig) |*csig| csig.deinit(self.base.allocator); // Write load commands var lc_buffer = std.ArrayList(u8).init(arena); diff --git a/src/link/MachO/zld.zig b/src/link/MachO/zld.zig index 957fef64fc..7eb5f7a326 100644 --- a/src/link/MachO/zld.zig +++ b/src/link/MachO/zld.zig @@ -4115,11 +4115,12 @@ pub fn linkWithZld(macho_file: *MachO, comp: *Compilation, prog_node: *std.Progr var codesig = CodeSignature.init(page_size); codesig.code_directory.ident = fs.path.basename(full_out_path); if (options.entitlements) |path| { - try codesig.addEntitlements(arena, path); + try codesig.addEntitlements(zld.gpa, path); } try zld.writeCodeSignaturePadding(&codesig); break :blk codesig; } else null; + defer if (codesig) |*csig| csig.deinit(zld.gpa); // Write load commands var lc_buffer = std.ArrayList(u8).init(arena);