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:
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,