diff options
| author | Quentin Young <qlyoung@cumulusnetworks.com> | 2019-05-15 22:42:41 +0000 |
|---|---|---|
| committer | Quentin Young <qlyoung@cumulusnetworks.com> | 2019-05-29 18:03:26 +0000 |
| commit | daeb97e980ab7e28caf11a15deccc1d36a08042b (patch) | |
| tree | 63b55c492bb1bca4b71670e2efc4be75f9711313 | |
| parent | 6e0b62b4281208a260cac7c3521814d84bacbabd (diff) | |
lib: use static storage for vty_cwd
Why are we allocating this
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
| -rw-r--r-- | lib/vty.c | 13 |
1 files changed, 4 insertions, 9 deletions
@@ -84,7 +84,7 @@ static char *vty_ipv6_accesslist_name = NULL; static vector Vvty_serv_thread; /* Current directory. */ -char *vty_cwd = NULL; +char vty_cwd[MAXPATHLEN]; /* Login password check. */ static int no_password_check = 0; @@ -3056,10 +3056,9 @@ void vty_reset(void) static void vty_save_cwd(void) { - char cwd[MAXPATHLEN]; char *c; - c = getcwd(cwd, MAXPATHLEN); + c = getcwd(vty_cwd, sizeof(vty_cwd)); if (!c) { /* @@ -3073,16 +3072,12 @@ static void vty_save_cwd(void) SYSCONFDIR, errno); exit(-1); } - if (getcwd(cwd, MAXPATHLEN) == NULL) { + if (getcwd(vty_cwd, sizeof(vty_cwd)) == NULL) { flog_err_sys(EC_LIB_SYSTEM_CALL, "Failure to getcwd, errno: %d", errno); exit(-1); } } - - size_t vty_cwd_sz = strlen(cwd) + 1; - vty_cwd = XMALLOC(MTYPE_TMP, vty_cwd_sz); - strlcpy(vty_cwd, cwd, vty_cwd_sz); } char *vty_get_cwd(void) @@ -3148,7 +3143,7 @@ void vty_init(struct thread_master *master_thread) void vty_terminate(void) { - XFREE(MTYPE_TMP, vty_cwd); + memset(vty_cwd, 0x00, sizeof(vty_cwd)); if (vtyvec && Vvty_serv_thread) { vty_reset(); |
