]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib: fix some coverity NULL check warnings
authorDavid Lamparter <equinox@opensourcerouting.org>
Wed, 8 Feb 2017 14:14:23 +0000 (15:14 +0100)
committerDavid Lamparter <equinox@opensourcerouting.org>
Wed, 8 Feb 2017 15:34:59 +0000 (16:34 +0100)
Reported-by: Coverity Scan
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
lib/command.c
lib/plist.c
lib/routemap.c

index cd8f6463e2d2a2ef3094d52976c1b30422391df6..6467fb71859451d7b655083d4844798d1b5f79e4 100644 (file)
@@ -699,6 +699,8 @@ cmd_complete_command (vector vline, struct vty *vty, int *status)
     vector_free (comps);
     comps = NULL;
   }
+  else if (initial_comps)
+    vector_free (initial_comps);
 
   // comps should always be null here
   assert (!comps);
@@ -784,6 +786,8 @@ cmd_execute_command_real (vector vline,
   // if matcher error, return corresponding CMD_ERR
   if (MATCHER_ERROR(status))
   {
+    if (argv_list)
+      list_delete (argv_list);
     switch (status)
     {
       case MATCHER_INCOMPLETE:
index 41cae020deb4ac2c9063524d0006751ac9e00390..4539d829724bef944ca20670e7b01806945da988 100644 (file)
@@ -557,10 +557,11 @@ prefix_list_entry_delete (struct prefix_list *plist,
                          struct prefix_list_entry *pentry,
                          int update_list)
 {
-  prefix_list_trie_del (plist, pentry);
-
   if (plist == NULL || pentry == NULL)
     return;
+
+  prefix_list_trie_del (plist, pentry);
+
   if (pentry->prev)
     pentry->prev->next = pentry->next;
   else
index 49b303983849a245c2b7ac3f14cad82da9cb677e..39d9a5d3752f2efea03b973e9d1165394035a016 100644 (file)
@@ -800,29 +800,29 @@ route_map_free_map (struct route_map *map)
   struct route_map_list *list;
   struct route_map_index *index;
 
+  if (map == NULL)
+    return;
+
   while ((index = map->head) != NULL)
     route_map_index_delete (index, 0);
 
   list = &route_map_master;
 
-  if (map != NULL)
-    {
-      QOBJ_UNREG (map);
+  QOBJ_UNREG (map);
 
-      if (map->next)
-       map->next->prev = map->prev;
-      else
-       list->tail = map->prev;
+  if (map->next)
+    map->next->prev = map->prev;
+  else
+    list->tail = map->prev;
 
-      if (map->prev)
-       map->prev->next = map->next;
-      else
-       list->head = map->next;
+  if (map->prev)
+    map->prev->next = map->next;
+  else
+    list->head = map->next;
 
-      hash_release(route_map_master_hash, map);
-      XFREE (MTYPE_ROUTE_MAP_NAME, map->name);
-      XFREE (MTYPE_ROUTE_MAP, map);
-    }
+  hash_release(route_map_master_hash, map);
+  XFREE (MTYPE_ROUTE_MAP_NAME, map->name);
+  XFREE (MTYPE_ROUTE_MAP, map);
 }
 
 /* Route map delete from list. */
@@ -1053,7 +1053,7 @@ vty_show_route_map (struct vty *vty, const char *name)
         {
           if (zlog_default)
             vty_out (vty, "%s", zlog_proto_names[zlog_default->protocol]);
-          if (zlog_default->instance)
+          if (zlog_default && zlog_default->instance)
             vty_out (vty, " %d", zlog_default->instance);
           vty_out (vty, ": 'route-map %s' not found%s", name, VTY_NEWLINE);
           return CMD_SUCCESS;