From: hasso Date: Thu, 26 May 2005 22:12:33 +0000 (+0000) Subject: * bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups X-Git-Tag: frr-2.0-rc1~2995 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=54a6ed38ac38777f5c2966f74a85cc12659efc87;p=matthieu%2Ffrr.git * bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups deleting fix. Avoid leaking bgp->group, bgp->peer and bgp->rsclient lists. [backport candidate] --- diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog index 74fe596254..7c339221fd 100644 --- a/bgpd/ChangeLog +++ b/bgpd/ChangeLog @@ -1,4 +1,10 @@ -2005-05-26 Hasso Tepper +2005-05-27 Hasso Tepper + + * 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 * bgpd.c: Don't crash while deleting list of peer-groups. diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index f96966102f..e303395947 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -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);