aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-06-23 16:07:12 -0600
committerTom Tromey <tom@tromey.com>2019-06-25 07:48:51 -0600
commitf7952c5774671414d9e0e8d3524c2921daa6f28e (patch)
treef6b30b00d226b3936e0b88166fcac16bb97a29f8 /gdb
parent17568d782d96434537fe9698c5ebcb09f35c20cb (diff)
downloadgdb-f7952c5774671414d9e0e8d3524c2921daa6f28e.zip
gdb-f7952c5774671414d9e0e8d3524c2921daa6f28e.tar.gz
gdb-f7952c5774671414d9e0e8d3524c2921daa6f28e.tar.bz2
Fix latent bug in set_is_exec_point_at
valgrind pointed out that the TUI was using uninitialized memory in set_is_exec_point_at. The bug is a missing check against LOA_ADDRESS, causing gdb to examine the uninitialized bits of the "addr" field. gdb/ChangeLog 2019-06-25 Tom Tromey <tom@tromey.com> * tui/tui-winsource.c (tui_source_window_base::set_is_exec_point_at): Add check against LOA_ADDRESS.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/tui/tui-winsource.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9898bcd..43ed9bc 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2019-06-25 Tom Tromey <tom@tromey.com>
+ * tui/tui-winsource.c
+ (tui_source_window_base::set_is_exec_point_at): Add check against
+ LOA_ADDRESS.
+
+2019-06-25 Tom Tromey <tom@tromey.com>
+
* tui/tui-source.c (tui_set_source_content): Don't check before
xfree.
* tui/tui-disasm.c (tui_disassemble): Don't check before xfree.
diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c
index 93c6253..6ec1f1b 100644
--- a/gdb/tui/tui-winsource.c
+++ b/gdb/tui/tui-winsource.c
@@ -365,7 +365,7 @@ tui_source_window_base::set_is_exec_point_at (struct tui_line_or_address l)
|| content_loa.loa == LOA_ADDRESS);
if (content_loa.loa == l.loa
&& ((l.loa == LOA_LINE && content_loa.u.line_no == l.u.line_no)
- || (content_loa.u.addr == l.u.addr)))
+ || (l.loa == LOA_ADDRESS && content_loa.u.addr == l.u.addr)))
new_state = true;
else
new_state = false;