diff options
author | Tom Tromey <tom@tromey.com> | 2016-06-06 13:01:52 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2016-07-14 10:35:37 -0600 |
commit | 537d9b851957475a8122949939023c81b1df1673 (patch) | |
tree | 322af5510c2c4aa16f1311ebce1c9105216e26ee | |
parent | d3e5f6c8f1e58e86689909019a3756d4308b66eb (diff) | |
download | gdb-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/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/corefile.c | 2 |
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; |