This is the mail archive of the
gdb-testers@sourceware.org
mailing list for the GDB project.
[binutils-gdb] watch_command_1: Fix dangling frame access
- From: sergiodj+buildbot at sergiodj dot net
- To: gdb-testers at sourceware dot org
- Date: Thu, 13 Apr 2017 12:16:23 -0400
- Subject: [binutils-gdb] watch_command_1: Fix dangling frame access
- Authentication-results: sourceware.org; auth=none
*** TEST RESULTS FOR COMMIT 441d7c93782a1b1877bfa903dc8da56a6041bfb4 ***
Author: Pedro Alves <palves@redhat.com>
Branch: master
Commit: 441d7c93782a1b1877bfa903dc8da56a6041bfb4
watch_command_1: Fix dangling frame access
While working on some changes to switch_to_thread, I inadvertently
make switch_to_thread call reinit_frame_cache more frequently, even
when the thread didn't change. This exposed a latent bug in
watch_command_1, where we're referencing a frame after
creating/inserting breakpoints, which potentially calls
reinit_frame_cache if it needs to install breakpoints with a different
thread selected.
Handle this similarly to how it's already handled in other similar
cases. I.e., save any frame-related information we might need before
creating a breakpoint.
gdb/ChangeLog:
2017-04-13 Pedro Alves <palves@redhat.com>
* breakpoint.c (watch_command_1): Save watchpoint-frame info
before calling create_internal_breakpoint.