lib: use static storage for vty_cwd

Why are we allocating this

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
Quentin Young 2019-05-15 22:42:41 +00:00
parent 6e0b62b428
commit daeb97e980

View File

@ -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();