authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-12-05 14:27:03+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-12-05 14:27:03+01:00
loge349bb2b66ec25cfa57860fdf690333704eb7c96
tree1871eaddd466d647db42ddc9fd03f3086009e0d5
parentb294103c7ed9892c54800b00d054619177d35839

elf: upcast e_shnum to u64 to check for valid ranges


2 files changed, 2 insertions(+), 2 deletions(-)

src/link/Elf/Object.zig+1-1
......@@ -68,7 +68,7 @@ pub fn parse(self: *Object, elf_file: *Elf) !void {
6868 const gpa = elf_file.base.allocator;
6969
7070 if (self.data.len < self.header.?.e_shoff or
71 self.data.len < self.header.?.e_shoff + self.header.?.e_shnum * @sizeOf(elf.Elf64_Shdr))
71 self.data.len < self.header.?.e_shoff + @as(u64, @intCast(self.header.?.e_shnum)) * @sizeOf(elf.Elf64_Shdr))
7272 {
7373 try elf_file.reportParseError2(
7474 self.index,
src/link/Elf/SharedObject.zig+1-1
......@@ -63,7 +63,7 @@ pub fn parse(self: *SharedObject, elf_file: *Elf) !void {
6363 }
6464
6565 if (self.data.len < self.header.?.e_shoff or
66 self.data.len < self.header.?.e_shoff + self.header.?.e_shnum * @sizeOf(elf.Elf64_Shdr))
66 self.data.len < self.header.?.e_shoff + @as(u64, @intCast(self.header.?.e_shnum)) * @sizeOf(elf.Elf64_Shdr))
6767 {
6868 try elf_file.reportParseError2(
6969 self.index,