summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Jakma <paul.jakma@sun.com>2006-06-15 12:25:55 +0000
committerPaul Jakma <paul.jakma@sun.com>2006-06-15 12:25:55 +0000
commite5cd706c1a4b8138e9b78933e03460f0b032c77e (patch)
tree4233e178ed021ff69f035f0ed1c1a989a4bbf9e9 /lib
parentac904dec03ce6b1bbd1bab1718085a366d485bd8 (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/ChangeLog4
-rw-r--r--lib/command.c4
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;
}