]> git.puffer.fish Git - matthieu/frr.git/commitdiff
Fix bugs reported by coverity scan
authorDenil Vira <denil@cumulusnetworks.com>
Thu, 23 Jul 2015 15:47:21 +0000 (08:47 -0700)
committerDenil Vira <denil@cumulusnetworks.com>
Thu, 23 Jul 2015 15:47:21 +0000 (08:47 -0700)
1. Fix useless call in bgpd/bgp_mplsvpn.c
Coverity scan ID : 1302528. Calling "decode_label(pnt)" is only useful
for its return value, which is
ignored. Removed the call.

2. Fix logically dead code in lib/stream.c
Coverity Scan ID 1302488. Test for size==0 makes no sense, since assert
immediately before it
would not let this code happen.

3. Fix Free Pointer dereference in lib/filter.c
Coverity Scan ID 23056. access is accessed after free in
access_list_delete

bgpd/bgp_mplsvpn.c
lib/filter.c
lib/stream.c

index 81e0b94b3c14bd154badeef822654c77047ba73a..9a1d90335081a500d86f5eab3a4b057c6fe1c31b 100644 (file)
@@ -139,8 +139,6 @@ bgp_nlri_parse_vpnv4 (struct peer *peer, struct attr *attr,
          return -1;
        }
 
-      (void)decode_label (pnt);
-
       /* Copyr label to prefix. */
       tagpnt = pnt;;
 
index ae50e6cbe0ed2f9858e38864fa0d06e9c911c4b1..0eeb8f187222129a5b55b0786e40713ecb37cfd0 100644 (file)
@@ -496,13 +496,13 @@ access_list_filter_delete (struct access_list *access, struct filter *filter)
   filter_free (filter);
 
   route_map_notify_dependencies(access->name, RMAP_EVENT_FILTER_DELETED);
-  /* If access_list becomes empty delete it from access_master. */
-  if (access_list_empty (access))
-    access_list_delete (access);
-
   /* Run hook function. */
   if (master->delete_hook)
     (*master->delete_hook) (access);
+
+  /* If access_list becomes empty delete it from access_master. */
+  if (access_list_empty (access))
+    access_list_delete (access);
 }
 
 /*
index cc5898a6dbb0ae3ec58a0526fe32165d0ffa3632..fcdf56f64f6651384e8bc2fb369e7bf158e10833 100644 (file)
@@ -93,12 +93,6 @@ stream_new (size_t size)
 
   assert (size > 0);
   
-  if (size == 0)
-    {
-      zlog_warn ("stream_new(): called with 0 size!");
-      return NULL;
-    }
-  
   s = XCALLOC (MTYPE_STREAM, sizeof (struct stream));
 
   if (s == NULL)