zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit e349bb2b66ec25cfa57860fdf690333704eb7c96 (tree)
parent b294103c7ed9892c54800b00d054619177d35839
Author: Jakub Konka <kubkon@jakubkonka.com>
Date:   Tue,  5 Dec 2023 14:27:03 +0100

elf: upcast e_shnum to u64 to check for valid ranges

Diffstat:
Msrc/link/Elf/Object.zig | 2+-
Msrc/link/Elf/SharedObject.zig | 2+-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/link/Elf/Object.zig b/src/link/Elf/Object.zig @@ -68,7 +68,7 @@ pub fn parse(self: *Object, elf_file: *Elf) !void { const gpa = elf_file.base.allocator; if (self.data.len < self.header.?.e_shoff or - self.data.len < self.header.?.e_shoff + self.header.?.e_shnum * @sizeOf(elf.Elf64_Shdr)) + self.data.len < self.header.?.e_shoff + @as(u64, @intCast(self.header.?.e_shnum)) * @sizeOf(elf.Elf64_Shdr)) { try elf_file.reportParseError2( self.index, diff --git a/src/link/Elf/SharedObject.zig b/src/link/Elf/SharedObject.zig @@ -63,7 +63,7 @@ pub fn parse(self: *SharedObject, elf_file: *Elf) !void { } if (self.data.len < self.header.?.e_shoff or - self.data.len < self.header.?.e_shoff + self.header.?.e_shnum * @sizeOf(elf.Elf64_Shdr)) + self.data.len < self.header.?.e_shoff + @as(u64, @intCast(self.header.?.e_shnum)) * @sizeOf(elf.Elf64_Shdr)) { try elf_file.reportParseError2( self.index,