mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-28 18:10:46 +00:00
gdb/riscv: Fix oob memory access when printing info registers
If the length of a register name was greater than 15, print_spaces was called with a negative number, which prints random data from the heap instead of the requested number of spaces. This could happen if a target-description file was used to specify additional long-named registers. Fix is simple - don't ask for fewer than 1 space (since we still want column separation). Approved-by: Kevin Buettner <kevinb@redhat.com>
This commit is contained in:
committed by
Tom Tromey
parent
358be6e72d
commit
5cd2b85eba
@@ -1145,7 +1145,7 @@ riscv_print_one_register_info (struct gdbarch *gdbarch,
|
||||
enum tab_stops { value_column_1 = 15 };
|
||||
|
||||
gdb_puts (name, file);
|
||||
print_spaces (value_column_1 - strlen (name), file);
|
||||
print_spaces (std::max<int> (1, value_column_1 - strlen (name)), file);
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user