aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzhylmzr <zhylmzr@gmail.com>2024-03-03 00:46:55 +0800
committerJakub Konka <kubkon@jakubkonka.com>2024-03-16 07:33:18 +0100
commitfe61b19b9667bcd9f4ce507683bcc224d5dad1de (patch)
tree8f3c2315ac7b9ad517eacd218869fef6deb23724 /src
parent3ea1276eebfa1cd408e9c45d1704ff294e95b807 (diff)
downloadzig-fe61b19b9667bcd9f4ce507683bcc224d5dad1de.tar.gz
zig-fe61b19b9667bcd9f4ce507683bcc224d5dad1de.zip
macos: archive size fix
fixed: #19154
Diffstat (limited to 'src')
-rw-r--r--src/link/MachO/Archive.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/link/MachO/Archive.zig b/src/link/MachO/Archive.zig
index d2c954f077..9285d5998b 100644
--- a/src/link/MachO/Archive.zig
+++ b/src/link/MachO/Archive.zig
@@ -23,11 +23,11 @@ pub fn parse(self: *Archive, macho_file: *MachO, path: []const u8, handle_index:
const handle = macho_file.getFileHandle(handle_index);
const offset = if (fat_arch) |ar| ar.offset else 0;
- const size = if (fat_arch) |ar| ar.size else (try handle.stat()).size;
+ const end_pos = if (fat_arch) |ar| offset + ar.size else (try handle.stat()).size;
var pos: usize = offset + SARMAG;
while (true) {
- if (pos >= size) break;
+ if (pos >= end_pos) break;
if (!mem.isAligned(pos, 2)) pos += 1;
var hdr_buffer: [@sizeOf(ar_hdr)]u8 = undefined;