From 80c872f699bf520739e376a9e8536c9549aac165 Mon Sep 17 00:00:00 2001 From: Renato Westphal Date: Wed, 25 Oct 2017 07:43:32 -0200 Subject: [PATCH] vtysh: properly fix memory leak Commit 44f12f20 fixed the memory leak in the wrong way and introduced a "uninitialized variable" warning. Signed-off-by: Renato Westphal --- vtysh/vtysh.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 92c6f64e1c..72a15f24dd 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -807,24 +807,26 @@ static int vtysh_rl_describe(void) fprintf(stdout, "\n"); + describe = cmd_describe_command(vline, vty, &ret); + /* Ambiguous and no match error. */ switch (ret) { case CMD_ERR_AMBIGUOUS: cmd_free_strvec(vline); + vector_free(describe); fprintf(stdout, "%% Ambiguous command.\n"); rl_on_new_line(); return 0; break; case CMD_ERR_NO_MATCH: cmd_free_strvec(vline); + vector_free(describe); fprintf(stdout, "%% There is no matched command.\n"); rl_on_new_line(); return 0; break; } - describe = cmd_describe_command(vline, vty, &ret); - /* Get width of command string. */ width = 0; for (i = 0; i < vector_active(describe); i++) -- 2.39.5