diff options
author | Paul Jakma <paul.jakma@sun.com> | 2006-06-15 12:25:55 +0000 |
---|---|---|
committer | Paul Jakma <paul.jakma@sun.com> | 2006-06-15 12:25:55 +0000 |
commit | e5cd706c1a4b8138e9b78933e03460f0b032c77e (patch) | |
tree | 4233e178ed021ff69f035f0ed1c1a989a4bbf9e9 /lib | |
parent | ac904dec03ce6b1bbd1bab1718085a366d485bd8 (diff) |
[lib] Fix vector leak in error path in command.c, CID #38
2006-06-15 Paul Jakma <paul.jakma@sun.com>
* command.c: (cmd_describe_command_real) Fix leak, CID #38.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ChangeLog | 4 | ||||
-rw-r--r-- | lib/command.c | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index 5d096364..b2ec0681 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,7 @@ +2006-06-15 Paul Jakma <paul.jakma@sun.com> + + * command.c: (cmd_describe_command_real) Fix leak, CID #38. + 2006-05-28 Paul Jakma <paul.jakma@sun.com> * zebra.h: Include inttypes.h rather than stdint.h, best practice diff --git a/lib/command.c b/lib/command.c index 07297eff..316971e4 100644 --- a/lib/command.c +++ b/lib/command.c @@ -1,5 +1,5 @@ /* - $Id: command.c,v 1.53 2006/05/12 23:24:09 paul Exp $ + $Id$ Command interpreter routine for virtual terminal [aka TeletYpe] Copyright (C) 1997, 98, 99 Kunihiro Ishiguro @@ -1629,12 +1629,14 @@ cmd_describe_command_real (vector vline, struct vty *vty, int *status) if ((ret = is_cmd_ambiguous (command, cmd_vector, i, match)) == 1) { vector_free (cmd_vector); + vector_free (matchvec); *status = CMD_ERR_AMBIGUOUS; return NULL; } else if (ret == 2) { vector_free (cmd_vector); + vector_free (matchvec); *status = CMD_ERR_NO_MATCH; return NULL; } |