diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/exec.c | 4 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/empty_exe.exp | 26 |
4 files changed, 37 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 41e7a30..98afd33 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2012-11-26 Keith Seitz <keiths@redhat.com> + + * exec.c (exec_file_attach): Move cleanup after verifying that + memory has in fact been allocated. + 2012-11-26 Tom Tromey <tromey@redhat.com> * ada-lang.c (user_select_syms): Use SYMBOL_SYMTAB. @@ -225,11 +225,11 @@ exec_file_attach (char *filename, int from_tty) &scratch_pathname); } #endif + if (scratch_chan < 0) + perror_with_name (filename); cleanups = make_cleanup (xfree, scratch_pathname); - if (scratch_chan < 0) - perror_with_name (filename); if (write_files) exec_bfd = gdb_bfd_fopen (scratch_pathname, gnutarget, FOPEN_RUB, scratch_chan); diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 907bec3..b625a7b 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2012-11-26 Joel Brobecker <brobecker@adacore.com> + + * gdb.base/empty_exe.exp: New testcase. + 2012-11-20 Mike Frysinger <vapier@gentoo.org> * gdb.base/completion.exp: Add test for help aliases completion. diff --git a/gdb/testsuite/gdb.base/empty_exe.exp b/gdb/testsuite/gdb.base/empty_exe.exp new file mode 100644 index 0000000..7c55554 --- /dev/null +++ b/gdb/testsuite/gdb.base/empty_exe.exp @@ -0,0 +1,26 @@ +# Copyright 2012 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +gdb_exit +gdb_start + +# Make sure that the "file" command rejects an empty filename, +# rather than crash. +gdb_test "file ''" \ + ": No such file or directory\\." + +# And to make extra sure that GDB is still alive, do a quick +# sanity check. +gdb_test "print 1" "= 1" |