]> git.puffer.fish Git - mirror/frr.git/commitdiff
* bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups
authorhasso <hasso>
Thu, 26 May 2005 22:12:33 +0000 (22:12 +0000)
committerhasso <hasso>
Thu, 26 May 2005 22:12:33 +0000 (22:12 +0000)
  deleting fix. Avoid leaking bgp->group, bgp->peer and bgp->rsclient
  lists.

[backport candidate]

bgpd/ChangeLog
bgpd/bgpd.c

index 74fe596254d5637df002b81ed4f8b5a6a5be8696..7c339221fdfe98fd7c8b85148e70a195ea311a6f 100644 (file)
@@ -1,4 +1,10 @@
-2005-05-26 Hasso Tepper <hass at quagga.net>
+2005-05-27 Hasso Tepper <hasso at quagga.net>
+
+       * bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups
+         deleting fix. Avoid leaking bgp->group, bgp->peer and bgp->rsclient
+         lists.
+
+2005-05-26 Hasso Tepper <hasso at quagga.net>
 
         * bgpd.c: Don't crash while deleting list of peer-groups.
 
index f96966102fa7cf6105f316e282c79f1030994eea..e3033959479f45701b0d6c3f78a9063d2ea6fcec 100644 (file)
@@ -1930,11 +1930,14 @@ bgp_delete (struct bgp *bgp)
 
   for (ALL_LIST_ELEMENTS (bgp->group, node, next, group))
     peer_group_delete (group);
+  list_delete (bgp->group);
 
   for (ALL_LIST_ELEMENTS (bgp->peer, node, next, peer))
     peer_delete (peer);
+  list_delete (bgp->peer);
 
-  bgp->rsclient->del = (void (*)(void *)) peer_delete;
+  for (ALL_LIST_ELEMENTS (bgp->rsclient, node, next, peer))
+    peer_delete (peer);
   list_delete (bgp->rsclient);
 
   listnode_delete (bm->bgp, bgp);