Reorder free(f); unlink(f); to unlink before freeing.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 5505686..6e452c3 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,8 @@
+2003-12-22 Greg Troxel <gdt@fnord.ir.bbn.com>
+
+ * vty.c (vty_use_backup_config): Don't free filenames before using
+ them for unlink.
+
2003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
* command.c: Fix <cr> display problem for command line
diff --git a/lib/vty.c b/lib/vty.c
index 8ba9970..6063290 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -2173,9 +2173,9 @@
sav = open (fullpath_sav, O_RDONLY);
if (sav < 0)
{
+ unlink (fullpath_tmp);
free (fullpath_sav);
free (fullpath_tmp);
- unlink (fullpath_tmp);
return NULL;
}
@@ -2187,9 +2187,9 @@
if (chmod(fullpath_tmp, CONFIGFILE_MASK) != 0)
{
+ unlink (fullpath_tmp);
free (fullpath_sav);
free (fullpath_tmp);
- unlink (fullpath_tmp);
return NULL;
}