From 3dbf99698a3be2e920871c3127ea089e061a127c Mon Sep 17 00:00:00 2001
From: gdt <gdt>
Date: Mon, 22 Dec 2003 20:18:18 +0000
Subject: Reorder free(f); unlink(f); to unlink before freeing.

---
 lib/ChangeLog | 5 +++++
 lib/vty.c     | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

(limited to 'lib')

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;
     }
   
-- 
cgit v1.2.1