commit 4c19415ecfd8448ea40e24eefa7eeef4e5bea065
parent b513778b567a803d4299ea2d570780dbc9f485d2
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Thu, 14 Dec 2006 20:03:30 +0000
in 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
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3997 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git 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)
diff --git a/src/files.c b/src/files.c
@@ -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);