Fix PR cli/23785: Check if file exists when invoking "restore FILE binary"
authorSergio Durigan Junior <sergiodj@redhat.com>
Thu, 18 Oct 2018 16:56:25 +0000 (12:56 -0400)
committerSergio Durigan Junior <sergiodj@redhat.com>
Thu, 18 Oct 2018 21:39:09 +0000 (17:39 -0400)
commit94c18618a8e29894a7b3104375e0510d71a568fb
treeeae691491fb47881c639554d6f1b988dded5ed75
parentf63085d15f05eb296744ba634edfc68ca806e578
Fix PR cli/23785: Check if file exists when invoking "restore FILE binary"

This simple patch fixes the segfault reported on PR cli/23785, which
happens when using the "restore FILE binary" command with a
non-existent file.  We just have to check if the file handler returned
by "gdb_fopen_cloexec" is not NULL, and error out if it is.

A test has also been added to gdb.base/restore.exp in order to
exercise this scenario.

No regressions introduced.

gdb/ChangeLog:
2018-10-18  Sergio Durigan Junior  <sergiodj@redhat.com>

PR cli/23785
* cli/cli-dump.c (restore_binary_file): Check if "file" is
NULL.

gdb/testsuite/ChangeLog:
2018-10-18  Sergio Durigan Junior  <sergiodj@redhat.com>

PR cli/23785
* gdb.base/restore.exp: New test to check if "restore" with an
invalid file doesn't segfault.
gdb/ChangeLog
gdb/cli/cli-dump.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/restore.exp