summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorgdt <gdt>2003-12-22 20:18:18 +0000
committergdt <gdt>2003-12-22 20:18:18 +0000
commit3dbf99698a3be2e920871c3127ea089e061a127c (patch)
tree8652a4b960116adc4cade4652729474ced8e5ba9 /lib
parentaa593d5e2638566ead1e69381e60639550991ff2 (diff)
Reorder free(f); unlink(f); to unlink before freeing.
Diffstat (limited to 'lib')
-rw-r--r--lib/ChangeLog5
-rw-r--r--lib/vty.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 55056864..6e452c3b 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 8ba99708..6063290c 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -2173,9 +2173,9 @@ vty_use_backup_config (char *fullpath)
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 @@ vty_use_backup_config (char *fullpath)
if (chmod(fullpath_tmp, CONFIGFILE_MASK) != 0)
{
+ unlink (fullpath_tmp);
free (fullpath_sav);
free (fullpath_tmp);
- unlink (fullpath_tmp);
return NULL;
}