bgpd: memory leak issue fix

Memory allocated when 'import vrf route maps <>' is configured,
wasn't being freed when the entire bgp config
was deleted through 'no router bgp'.

Signed-off-by: Samanvitha B Bhargav <bsmanvitha@vmware.com>
This commit is contained in:
Samanvitha B Bhargav 2022-09-21 01:57:09 -07:00
parent 92d537611b
commit 2305e3e460

View File

@ -3713,6 +3713,17 @@ int bgp_delete(struct bgp *bgp)
bgp->vpn_policy[afi].import_redirect_rtlist = NULL; bgp->vpn_policy[afi].import_redirect_rtlist = NULL;
} }
/* Free any memory allocated to holding routemap references */
for (afi = 0; afi < AFI_MAX; ++afi) {
for (enum vpn_policy_direction dir = 0;
dir < BGP_VPN_POLICY_DIR_MAX; ++dir) {
if (bgp->vpn_policy[afi].rmap_name[dir])
XFREE(MTYPE_ROUTE_MAP_NAME,
bgp->vpn_policy[afi].rmap_name[dir]);
bgp->vpn_policy[afi].rmap[dir] = NULL;
}
}
/* Deregister from Zebra, if needed */ /* Deregister from Zebra, if needed */
if (IS_BGP_INST_KNOWN_TO_ZEBRA(bgp)) { if (IS_BGP_INST_KNOWN_TO_ZEBRA(bgp)) {
if (BGP_DEBUG(zebra, ZEBRA)) if (BGP_DEBUG(zebra, ZEBRA))