aboutsummaryrefslogtreecommitdiff
path: root/lib/std/elf.zig
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2025-09-11 13:42:51 +0100
committermlugg <mlugg@mlugg.co.uk>2025-09-30 13:44:53 +0100
commit9901b9389ed963ff262d1ce4973029a570035f19 (patch)
treec640810510f6c8fcbb2885cd273d86b70ae8ad07 /lib/std/elf.zig
parent7601b397ef95b57c05e9a4ed3670782d2dddf84c (diff)
downloadzig-9901b9389ed963ff262d1ce4973029a570035f19.tar.gz
zig-9901b9389ed963ff262d1ce4973029a570035f19.zip
std: fix 32-bit build and some unsafe casts
Diffstat (limited to 'lib/std/elf.zig')
-rw-r--r--lib/std/elf.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/std/elf.zig b/lib/std/elf.zig
index 43b542c09e..3b0c085003 100644
--- a/lib/std/elf.zig
+++ b/lib/std/elf.zig
@@ -744,7 +744,8 @@ pub const SectionHeaderBufferIterator = struct {
const size: u64 = if (it.elf_header.is_64) @sizeOf(Elf64_Shdr) else @sizeOf(Elf32_Shdr);
const offset = it.elf_header.shoff + size * it.index;
- var reader = std.Io.Reader.fixed(it.buf[offset..]);
+ if (offset > it.buf.len) return error.EndOfStream;
+ var reader = std.Io.Reader.fixed(it.buf[@intCast(offset)..]);
return takeShdr(&reader, it.elf_header);
}