mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-13 21:10:28 +00:00
bgpd: fix memory leak when deleting a community
* bgp_routemap.c: (route_set_community_delete) When deleting a community in a route-map the old community was being orphaned. Like the description of the same code in route_set_community, this is a hack, not a true fix.
This commit is contained in:
parent
4a2035fd71
commit
604a9b43dd
@ -1393,6 +1393,13 @@ route_set_community_delete (void *rule, struct prefix *prefix,
|
|||||||
new = community_uniq_sort (merge);
|
new = community_uniq_sort (merge);
|
||||||
community_free (merge);
|
community_free (merge);
|
||||||
|
|
||||||
|
/* HACK: if the old community is not intern'd,
|
||||||
|
* we should free it here, or all reference to it may be lost.
|
||||||
|
* Really need to cleanup attribute caching sometime.
|
||||||
|
*/
|
||||||
|
if (old->refcnt == 0)
|
||||||
|
community_free (old);
|
||||||
|
|
||||||
if (new->size == 0)
|
if (new->size == 0)
|
||||||
{
|
{
|
||||||
binfo->attr->community = NULL;
|
binfo->attr->community = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user