[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;
 }