]> git.puffer.fish Git - mirror/frr.git/commitdiff
* bgpd.c: Don't crash while deleting list of peer-groups.
authorhasso <hasso>
Thu, 26 May 2005 08:29:07 +0000 (08:29 +0000)
committerhasso <hasso>
Thu, 26 May 2005 08:29:07 +0000 (08:29 +0000)
[backport candidate]

bgpd/ChangeLog
bgpd/bgpd.c

index 826b930f2bbed45845d7f16dba48b085cb2dd3f4..74fe596254d5637df002b81ed4f8b5a6a5be8696 100644 (file)
@@ -1,3 +1,7 @@
+2005-05-26 Hasso Tepper <hass at quagga.net>
+
+        * bgpd.c: Don't crash while deleting list of peer-groups.
+
 2005-05-25 Hasso Tepper <hasso at quagga.net>
 
        * bgpd.c: Fix obvious (routeserver patch) merge error. This makes "no
index c1995682696220d4c8feae9e1080cb1aa4bafaa7..f96966102fa7cf6105f316e282c79f1030994eea 100644 (file)
@@ -1912,6 +1912,7 @@ int
 bgp_delete (struct bgp *bgp)
 {
   struct peer *peer;
+  struct peer_group *group;
   struct listnode *node;
   struct listnode *next;
   afi_t afi;
@@ -1927,8 +1928,8 @@ bgp_delete (struct bgp *bgp)
       if (i != ZEBRA_ROUTE_BGP)
        bgp_redistribute_unset (bgp, afi, i);
 
-  bgp->group->del = (void (*)(void *)) peer_group_delete;
-  list_delete (bgp->group);
+  for (ALL_LIST_ELEMENTS (bgp->group, node, next, group))
+    peer_group_delete (group);
 
   for (ALL_LIST_ELEMENTS (bgp->peer, node, next, peer))
     peer_delete (peer);