]> git.puffer.fish Git - mirror/frr.git/commitdiff
[lib] CID #55, fix return of freed pointer, cmd_describe_command_real
authorPaul Jakma <paul.jakma@sun.com>
Fri, 12 May 2006 23:24:09 +0000 (23:24 +0000)
committerPaul Jakma <paul.jakma@sun.com>
Fri, 12 May 2006 23:24:09 +0000 (23:24 +0000)
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.

lib/ChangeLog
lib/command.c

index 467274738eb1e68f158e14915bd75f7cd5f15809..f5cee80b7b40d5daf4db7fb40c72dbdad0d730cf 100644 (file)
@@ -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.
 
index 1c277b384dc20a55a10fafdf451c36f7146bbb65..07297effd4efe3ba8276fe082955908549939da8 100644 (file)
@@ -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 @@ cmd_describe_command_real (vector vline, struct vty *vty, int *status)
     {
       vector_free (matchvec);
       *status = CMD_ERR_NO_MATCH;
+      return NULL;
     }
-  else
-    *status = CMD_SUCCESS;
 
+  *status = CMD_SUCCESS;
   return matchvec;
 }