1
1

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
Этот коммит содержится в:
David Lawrence Ramsey 2004-10-22 03:33:54 +00:00
родитель 2c4e34cfce
Коммит ca92becf9d
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -109,6 +109,11 @@ CVS code -
do_writeout_void() do_writeout_void()
- Call display_main_list(), for consistency with - Call display_main_list(), for consistency with
do_insertfile_void(). (DLR) 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() write_marked()
- Remove check for MARK_ISSET's not being set. (DLR) - Remove check for MARK_ISSET's not being set. (DLR)
open_prevfile(), open_nextfile() open_prevfile(), open_nextfile()

Просмотреть файл

@ -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. */ /* First, just give up if we couldn't even open the file. */
if (fd == -1) { if (fd == -1) {
statusbar(_("Error writing %s: %s"), realname, strerror(errno)); 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; goto cleanup_and_exit;
} }