apply patch from DB: in write_file(), if we've tried to write to an

unwritable file and we're not prepending, tempname is NULL when it's
passed to unlink(); this can cause problems if unlink() can't handle
NULL, so don't call it in that case


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2012 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
David Lawrence Ramsey 2004-10-22 03:33:54 +00:00
parent 2c4e34cfce
commit ca92becf9d
2 changed files with 8 additions and 1 deletions

View File

@ -109,6 +109,11 @@ CVS code -
do_writeout_void()
- Call display_main_list(), for consistency with
do_insertfile_void(). (DLR)
write_file()
- If we've tried to write to an unwritable file and we're not
prepending, tempname is NULL when it's passed to unlink().
This can cause problems if unlink() can't handle NULL, so
don't call it in that case. (David Benbennick)
write_marked()
- Remove check for MARK_ISSET's not being set. (DLR)
open_prevfile(), open_nextfile()

View File

@ -1602,7 +1602,9 @@ int write_file(const char *name, int tmp, int append, int nonamechange)
/* First, just give up if we couldn't even open the file. */
if (fd == -1) {
statusbar(_("Error writing %s: %s"), realname, strerror(errno));
unlink(tempname);
/* tempname has been set only if we're prepending. */
if (tempname != NULL)
unlink(tempname);
goto cleanup_and_exit;
}