Message ID | 1465248812-23902-2-git-send-email-tom@tromey.com |
---|---|
State | New |
Headers | show |
On Mon, Jun 6, 2016 at 10:33 PM, Tom Tromey <tom@tromey.com> wrote: > 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-06-06 Tom Tromey <tom@tromey.com> > > * corefile.c (reopen_exec_file): Only examine st.st_mtime if stat > succeeded. Patch is good to me.
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index af4ddcc..649bb0b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-06-06 Tom Tromey <tom@tromey.com> + + * corefile.c (reopen_exec_file): Only examine st.st_mtime if stat + succeeded. + 2016-06-02 Jon Turney <jon.turney@dronecode.org.uk> * windows-nat.c (handle_output_debug_string): Return type of 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;