[lib] CID #55, fix return of freed pointer, cmd_describe_command_real
2006-05-12 Paul Jakma <paul.jakma@sun.com>
* command.c: (cmd_describe_command_real) Fix return of freed
pointer when no-match, CID #55.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 4672747..f5cee80 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.
+ (cmd_describe_command_real) Fix return of freed pointer when
+ no-match, CID #55.
* vty.c: (vty_describe_command) fix leak of describe vector in
error path, CID #39.
diff --git a/lib/command.c b/lib/command.c
index 1c277b3..07297ef 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -1,5 +1,5 @@
/*
- $Id: command.c,v 1.52 2006/05/12 23:19:37 paul Exp $
+ $Id: command.c,v 1.53 2006/05/12 23:24:09 paul Exp $
Command interpreter routine for virtual terminal [aka TeletYpe]
Copyright (C) 1997, 98, 99 Kunihiro Ishiguro
@@ -1693,10 +1693,10 @@
{
vector_free (matchvec);
*status = CMD_ERR_NO_MATCH;
+ return NULL;
}
- else
- *status = CMD_SUCCESS;
+ *status = CMD_SUCCESS;
return matchvec;
}