aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2016-06-06 13:01:52 -0600
committerTom Tromey <tom@tromey.com>2016-07-14 10:35:37 -0600
commit537d9b851957475a8122949939023c81b1df1673 (patch)
tree322af5510c2c4aa16f1311ebce1c9105216e26ee
parentd3e5f6c8f1e58e86689909019a3756d4308b66eb (diff)
downloadgdb-537d9b851957475a8122949939023c81b1df1673.zip
gdb-537d9b851957475a8122949939023c81b1df1673.tar.gz
gdb-537d9b851957475a8122949939023c81b1df1673.tar.bz2
Change reopen_exec_file to check result of stat
This seems to be a real bug found by -Wunused-but-set-variable. If "stat" fails for some reason, gdb would use the uninitialized "st". 2016-07-14 Tom Tromey <tom@tromey.com> * corefile.c (reopen_exec_file): Only examine st.st_mtime if stat succeeded.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/corefile.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index ba207ba..cef090c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2016-07-14 Tom Tromey <tom@tromey.com>
+
+ * corefile.c (reopen_exec_file): Only examine st.st_mtime if stat
+ succeeded.
+
2016-07-13 Tom Tromey <tom@tromey.com>
PR python/15620, PR python/18620:
diff --git a/gdb/corefile.c b/gdb/corefile.c
index 6cc2afc..64de931 100644
--- a/gdb/corefile.c
+++ b/gdb/corefile.c
@@ -144,7 +144,7 @@ reopen_exec_file (void)
cleanups = make_cleanup (xfree, filename);
res = stat (filename, &st);
- if (exec_bfd_mtime && exec_bfd_mtime != st.st_mtime)
+ if (res == 0 && exec_bfd_mtime && exec_bfd_mtime != st.st_mtime)
exec_file_attach (filename, 0);
else
/* If we accessed the file since last opening it, close it now;