aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <pedro@palves.net>2022-03-18 19:14:25 +0000
committerPedro Alves <pedro@palves.net>2022-03-18 19:25:09 +0000
commitb7e077222ee350f4bd6c76134064acdbd2ce2b32 (patch)
tree0ab351426bb04378a076b4e9b539385cac96204d
parentda729c5ccde6eeccae539cbe51a285bc84769b3d (diff)
downloadbinutils-b7e077222ee350f4bd6c76134064acdbd2ce2b32.zip
binutils-b7e077222ee350f4bd6c76134064acdbd2ce2b32.tar.gz
binutils-b7e077222ee350f4bd6c76134064acdbd2ce2b32.tar.bz2
Fix crash with stepi, no debug info, and "set debug infrun 1"
A stepi in a function without debug info with "set debug infrun 1" crashes GDB since commit c8353d682f69 (gdb/infrun: some extra infrun debug print statements), due to a reference to "tp->current_symtab->filename" when tp->current_symtab is null. This commit adds the missing null check. The output in this case becomes: [infrun] set_step_info: symtab = <null>, line = 0, step_frame_id = {stack=0x7fffffffd980,code=0x0000000000456c30,!special}, step_stack_frame_id = {stack=0x7fffffffd980,code=0x0000000000456c30,!special} Change-Id: I5171a9d222bc7e15b9dba2feaba7d55c7acd99f8
-rw-r--r--gdb/infrun.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c
index bc6521c..104c29a 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -4180,7 +4180,8 @@ set_step_info (thread_info *tp, struct frame_info *frame,
infrun_debug_printf
("symtab = %s, line = %d, step_frame_id = %s, step_stack_frame_id = %s",
- tp->current_symtab->filename, tp->current_line,
+ tp->current_symtab != nullptr ? tp->current_symtab->filename : "<null>",
+ tp->current_line,
tp->control.step_frame_id.to_string ().c_str (),
tp->control.step_stack_frame_id.to_string ().c_str ());
}