diff options
author | paul <paul> | 2006-05-12 23:22:01 +0000 |
---|---|---|
committer | paul <paul> | 2006-05-12 23:22:01 +0000 |
commit | a6b2e014ede6da6c5de64066cb3ebbc8911c57c0 (patch) | |
tree | ce9f1baad06ee716c4a7f6741de542ea2768da5b | |
parent | 1de06f5ca3f294dc930c1e6d0c564c6bb68f3886 (diff) | |
download | quagga-a6b2e014ede6da6c5de64066cb3ebbc8911c57c0.tar.bz2 quagga-a6b2e014ede6da6c5de64066cb3ebbc8911c57c0.tar.xz |
[lib] CID #39, fix leak in error path, vty_describe_command
2006-05-12 Paul Jakma <paul.jakma@sun.com>
* vty.c: (vty_describe_command) fix leak of describe vector in
error path, CID #39.
-rw-r--r-- | lib/ChangeLog | 2 | ||||
-rw-r--r-- | lib/vty.c | 11 |
2 files changed, 5 insertions, 8 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index dc9999b3..46727473 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -4,6 +4,8 @@ of prefix and typestr strings, Coverity CID #3. * command.c: (cmd_complete_command_real) Fix leak of cmd_vector in error case, Coverity CID #37. + * vty.c: (vty_describe_command) fix leak of describe vector in + error path, CID #39. 2006-03-30 Paul Jakma <paul.jakma@sun.com> @@ -985,18 +985,12 @@ vty_describe_command (struct vty *vty) switch (ret) { case CMD_ERR_AMBIGUOUS: - cmd_free_strvec (vline); vty_out (vty, "%% Ambiguous command.%s", VTY_NEWLINE); - vty_prompt (vty); - vty_redraw_line (vty); - return; + goto out; break; case CMD_ERR_NO_MATCH: - cmd_free_strvec (vline); vty_out (vty, "%% There is no matched command.%s", VTY_NEWLINE); - vty_prompt (vty); - vty_redraw_line (vty); - return; + goto out; break; } @@ -1066,6 +1060,7 @@ vty_describe_command (struct vty *vty) vty_describe_fold (vty, width, desc_width, desc); } +out: cmd_free_strvec (vline); vector_free (describe); |