From 79ad27982af1440a841298b684d94732ae07d003 Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 15 Oct 2003 22:09:28 +0000 Subject: 2003-10-15 Paul Jakma * 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