bgpd: fix memory leak when reconfiguring a route distinguisher

A memory leak happens when reconfiguring an already configured route
distinguisher on an L3VPN BGP instance. Fix this by freeing the previous
route distinguisher.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
This commit is contained in:
Philippe Guibert 2024-12-18 16:53:48 +01:00
parent 6c3e1e4fd6
commit 0dd96287dd

View File

@ -9806,6 +9806,8 @@ DEFPY (af_rd_vpn_export,
bgp_get_default(), bgp); bgp_get_default(), bgp);
if (yes) { if (yes) {
if (bgp->vpn_policy[afi].tovpn_rd_pretty)
XFREE(MTYPE_BGP_NAME, bgp->vpn_policy[afi].tovpn_rd_pretty);
bgp->vpn_policy[afi].tovpn_rd_pretty = XSTRDUP(MTYPE_BGP_NAME, bgp->vpn_policy[afi].tovpn_rd_pretty = XSTRDUP(MTYPE_BGP_NAME,
rd_str); rd_str);
bgp->vpn_policy[afi].tovpn_rd = prd; bgp->vpn_policy[afi].tovpn_rd = prd;