From 79ad27982af1440a841298b684d94732ae07d003 Mon Sep 17 00:00:00 2001
From: paul <paul>
Date: Wed, 15 Oct 2003 22:09:28 +0000
Subject: 2003-10-15 Paul Jakma <paul@dishone.st>

	* lib/vty.c: (vty_save_cwd) dont crash if getcwd fails. try fallback
          to SYSCONFDIR. Allocate cwd from the stack rather than relying on
          (non-portable) getcwd() allocation (which we didnt seem to be
	  freeing).
---
 lib/vty.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

(limited to 'lib')

diff --git a/lib/vty.c b/lib/vty.c
index 90e1dadb..4e341bf1 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -2757,9 +2757,15 @@ vty_finish ()
 void
 vty_save_cwd ()
 {
-  char *cwd;
+  char cwd[MAXPATHLEN];
+
+  cwd[0] = getcwd (cwd, MAXPATHLEN);
 
-  cwd = getcwd (NULL, MAXPATHLEN);
+  if (!cwd)
+    {
+      chdir (SYSCONFDIR);
+      cwd[0] = getcwd (cwd, MAXPATHLEN);
+    }
 
   vty_cwd = XMALLOC (MTYPE_TMP, strlen (cwd) + 1);
   strcpy (vty_cwd, cwd);
-- 
cgit v1.2.1