diff --git a/ChangeLog b/ChangeLog index dd62b64a..ad58bad2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,10 @@ CVS code - do_last_file(), do_help_void(), and do_browser_help(); changes to do_browser(), parse_browser_input(), shortcut_init(), do_help(), and help_init(). (DLR) +- files.c: + write_file() + - Don't free backupname before displaying it in a statusbar error + message. (DLR, found by Bill Marcum) - doc/nano.1, doc/nanorc.5, doc/rnano.1, doc/nano.texi: - Update the copyright years to include 2006. (DLR) - doc/nanorc.sample: diff --git a/src/files.c b/src/files.c index f5be6061..0caf5f18 100644 --- a/src/files.c +++ b/src/files.c @@ -1414,7 +1414,6 @@ int write_file(const char *name, FILE *f_open, bool tmp, append_type openfile->current_stat->st_uid, openfile->current_stat->st_gid) == -1 || utime(backupname, &filetime) == -1) { - free(backupname); if (copy_status == -1) { statusbar(_("Error reading %s: %s"), realname, strerror(errno)); @@ -1422,6 +1421,7 @@ int write_file(const char *name, FILE *f_open, bool tmp, append_type } else statusbar(_("Error writing %s: %s"), backupname, strerror(errno)); + free(backupname); goto cleanup_and_exit; }