* bgp_routemap.c: Stop leaking communities.
Fixes bugzilla #89. [backport candidate]
diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c
index fc2c8fd..6c10987 100644
--- a/bgpd/bgp_routemap.c
+++ b/bgpd/bgp_routemap.c
@@ -1268,6 +1268,10 @@
new = community_dup (rcs->com);
attr->community = new;
+
+ if (old)
+ community_free (old);
+
attr->flag |= ATTR_FLAG_BIT (BGP_ATTR_COMMUNITIES);
}
@@ -1448,6 +1452,9 @@
bgp_info->attr->ecommunity = new_ecom;
+ if (old_ecom)
+ ecommunity_free (old_ecom);
+
bgp_info->attr->flag |= ATTR_FLAG_BIT (BGP_ATTR_EXT_COMMUNITIES);
}
return RMAP_OKAY;