summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJorge Boncompte [DTI2] <jorge@dti2.net>2012-05-07 15:17:33 +0000
committerDavid Lamparter <equinox@opensourcerouting.org>2013-01-14 14:42:38 +0100
commitebbb5fca5ca899a9a125aa2770d3fdf857186bac (patch)
treeb2e5f525e5dc30a378dc4ace24f5feca70c33e71
parenta5c851c7ff41ef846e83d62394176ac1753ebf45 (diff)
bgpd: fix for leaked struct bgp_adj_[in|out] on peer shutdown
If a peer with soft-reconfiguration configured is cleared, the function bgp_clear_route_table() doesn't free the bgp_adj_in and bgp_adj_out structures of route nodes that for some reason, ej. denied by a filter, don't have routes attached "rn->info == NULL". Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net> Reviewed-by: Leonid Rosenboim <Leonid.Rosenboim@windriver.com> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
-rw-r--r--bgpd/bgp_route.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 2412503d..9251d2c2 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -2810,9 +2810,6 @@ bgp_clear_route_table (struct peer *peer, afi_t afi, safi_t safi,
struct bgp_info *ri;
struct bgp_adj_in *ain;
struct bgp_adj_out *aout;
-
- if (rn->info == NULL)
- continue;
/* XXX:TODO: This is suboptimal, every non-empty route_node is
* queued for every clearing peer, regardless of whether it is