diff options
Diffstat (limited to 'gdb/dummy-frame.c')
-rw-r--r-- | gdb/dummy-frame.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/dummy-frame.c b/gdb/dummy-frame.c index ceaa1b0..d6a7241 100644 --- a/gdb/dummy-frame.c +++ b/gdb/dummy-frame.c @@ -69,6 +69,7 @@ int deprecated_pc_in_call_dummy (struct gdbarch *gdbarch, CORE_ADDR pc) { struct dummy_frame *dummyframe; + for (dummyframe = dummy_frame_stack; dummyframe != NULL; dummyframe = dummyframe->next) @@ -217,6 +218,7 @@ dummy_frame_sniffer (const struct frame_unwind *self, if (frame_id_eq (dummyframe->id, this_id)) { struct dummy_frame_cache *cache; + cache = FRAME_OBSTACK_ZALLOC (struct dummy_frame_cache); cache->prev_regcache = get_inferior_thread_state_regcache (dummyframe->caller_state); cache->this_id = this_id; @@ -267,6 +269,7 @@ dummy_frame_this_id (struct frame_info *this_frame, { /* The dummy-frame sniffer always fills in the cache. */ struct dummy_frame_cache *cache = (*this_prologue_cache); + gdb_assert (cache != NULL); (*this_id) = cache->this_id; } @@ -288,6 +291,7 @@ static void fprint_dummy_frames (struct ui_file *file) { struct dummy_frame *s; + for (s = dummy_frame_stack; s != NULL; s = s->next) { gdb_print_host_address (s, file); @@ -307,6 +311,7 @@ maintenance_print_dummy_frames (char *args, int from_tty) { struct cleanup *cleanups; struct ui_file *file = gdb_fopen (args, "w"); + if (file == NULL) perror_with_name (_("maintenance print dummy-frames")); cleanups = make_cleanup_ui_file_delete (file); |