diff options
Diffstat (limited to 'src/link/MachO/CodeSignature.zig')
| -rw-r--r-- | src/link/MachO/CodeSignature.zig | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/link/MachO/CodeSignature.zig b/src/link/MachO/CodeSignature.zig index be1ce1e8f7..c8a092eab6 100644 --- a/src/link/MachO/CodeSignature.zig +++ b/src/link/MachO/CodeSignature.zig @@ -247,7 +247,7 @@ pub fn deinit(self: *CodeSignature, allocator: Allocator) void { pub fn addEntitlements(self: *CodeSignature, allocator: Allocator, path: []const u8) !void { const file = try fs.cwd().openFile(path, .{}); defer file.close(); - const inner = try file.readToEndAlloc(allocator, .unlimited); + const inner = try file.readToEndAlloc(allocator, std.math.maxInt(u32)); self.entitlements = .{ .inner = inner }; } @@ -304,11 +304,10 @@ pub fn writeAdhocSignature( var hash: [hash_size]u8 = undefined; if (self.requirements) |*req| { - var aw: std.io.Writer.Allocating = .init(allocator); - defer aw.deinit(); - - try req.write(&aw.writer); - Sha256.hash(aw.getWritten(), &hash, .{}); + var buf = std.ArrayList(u8).init(allocator); + defer buf.deinit(); + try req.write(buf.writer()); + Sha256.hash(buf.items, &hash, .{}); self.code_directory.addSpecialHash(req.slotType(), hash); try blobs.append(.{ .requirements = req }); @@ -317,11 +316,10 @@ pub fn writeAdhocSignature( } if (self.entitlements) |*ents| { - var aw: std.io.Writer.Allocating = .init(allocator); - defer aw.deinit(); - - try ents.write(&aw.writer); - Sha256.hash(aw.getWritten(), &hash, .{}); + var buf = std.ArrayList(u8).init(allocator); + defer buf.deinit(); + try ents.write(buf.writer()); + Sha256.hash(buf.items, &hash, .{}); self.code_directory.addSpecialHash(ents.slotType(), hash); try blobs.append(.{ .entitlements = ents }); |
