ubsan: size_inc_line_addr integer overflow
Alan Modra
amodra@gmail.com
Sun May 11 13:27:26 GMT 2025
Fix a fuzzer testcase where a large positive line_delta causes signed
overflow when subtracting -5. Signed overflow is perfectly OK here.
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index 2963e52958a..955119bd87a 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -1632,7 +1632,7 @@ size_inc_line_addr (int line_delta, addressT addr_delta)
}
/* Bias the line delta by the base. */
- tmp = line_delta - DWARF2_LINE_BASE;
+ tmp = (unsigned) line_delta - DWARF2_LINE_BASE;
/* If the line increment is out of range of a special opcode, we
must encode it with DW_LNS_advance_line. */
--
Alan Modra
More information about the Binutils
mailing list