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-d3aeb78583b8master
parent
2c4e34cfce
commit
ca92becf9d
|
@ -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()
|
||||
|
|
|
@ -1602,6 +1602,8 @@ 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));
|
||||
/* tempname has been set only if we're prepending. */
|
||||
if (tempname != NULL)
|
||||
unlink(tempname);
|
||||
goto cleanup_and_exit;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue