zig

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

commit b981b7975dad40e4e779f848530bf80e54b7cde4 (tree)
parent 09b51b3dc1a5d6ea73637513efd39be313f8301e
Author: kcbanner <kcbanner@gmail.com>
Date:   Sat, 13 Jun 2026 12:55:01 -0400

Coff: fixup overflow in relocation bounds check

Diffstat:
Msrc/link/Coff.zig | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/link/Coff.zig b/src/link/Coff.zig @@ -4055,14 +4055,14 @@ fn loadObject( section.name = coff.getOrPutStringAssumeCapacity(section_name_slice); if (section.header.pointer_to_linenumbers + - section.header.number_of_linenumbers * std.coff.LineNumber.sizeOf() > fl.size) + @as(u32, section.header.number_of_linenumbers) * std.coff.LineNumber.sizeOf() > fl.size) return diags.failParse(path, "bad line numbers location in section {d} `{s}`", .{ section_i, section_name_slice, }); if (section.header.pointer_to_relocations + - section.header.number_of_relocations * std.coff.Relocation.sizeOf() > fl.size) + @as(u32, section.header.number_of_relocations) * std.coff.Relocation.sizeOf() > fl.size) return diags.failParse(path, "bad relocations location in section {d} `{s}`", .{ section_i, section_name_slice,