diff options
author | paul <paul> | 2003-10-15 22:09:28 +0000 |
---|---|---|
committer | paul <paul> | 2003-10-15 22:09:28 +0000 |
commit | 4a1521f86f1cfdde97e4c068a45f502f12f4dd86 (patch) | |
tree | ad0fa041a63834859d8b00346307e13b0e86eb53 /lib/vty.c | |
parent | 4d609fa6a9d5e1a9c86c424dcbe57e05a3e6b738 (diff) | |
download | quagga-4a1521f86f1cfdde97e4c068a45f502f12f4dd86.tar.bz2 quagga-4a1521f86f1cfdde97e4c068a45f502f12f4dd86.tar.xz |
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).
Diffstat (limited to 'lib/vty.c')
-rw-r--r-- | lib/vty.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -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); |