]> git.wh0rd.org Git - nano.git/commitdiff
in do_writeout(), fix a segfault when we can't get the full path of
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Thu, 14 Dec 2006 20:03:30 +0000 (20:03 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Thu, 14 Dec 2006 20:03:30 +0000 (20:03 +0000)
either the filename we want to save under or the original filename

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3997 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/files.c

index 93de95a7d7068bcb0fc29c1d445fe2bfb760f2af..4642beb2e4e13b9145726f8032f75cb5789892f0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,10 @@ CVS code -
          nulls. (DLR)
   write_file()
        - Properly handle filenames that contain nulls. (DLR)
+  do_writeout()
+       - Fix a segfault when we can't get the full path of either the
+         filename we want to save under or the original filename. (DLR,
+         found by Mike Frysinger)
 - nano.h:
        - Rename NANO_ALT_REPLACE_KEY to NANO_REPLACE_ALTKEY, for
          consistency. (DLR)
index 10e069eb7a5e9f610dd1771de4896357da2746c6..b83e6596b3fc806e4f4dc6887ba9e42a00e10042 100644 (file)
@@ -1897,7 +1897,8 @@ int do_writeout(bool exiting)
                unsunder(answer, answer_len);
 
                full_filename = get_full_path(openfile->filename);
-               different_name = (strcmp(full_answer,
+               different_name = (full_answer != NULL &&
+                       full_filename != NULL && strcmp(full_answer,
                        full_filename) != 0);
 
                free(full_filename);