]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: fix memory leak when reconfiguring a route distinguisher
authorPhilippe Guibert <philippe.guibert@6wind.com>
Wed, 18 Dec 2024 15:53:48 +0000 (16:53 +0100)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Wed, 18 Dec 2024 15:56:15 +0000 (16:56 +0100)
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>
bgpd/bgp_vty.c

index 2fc5dc847fe1554dc21884bf0f87bd638132605a..6fcd9d4280c4524c07ec58c1403eb6ee285985c7 100644 (file)
@@ -9806,6 +9806,8 @@ DEFPY (af_rd_vpn_export,
                           bgp_get_default(), bgp);
 
        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,
                                                               rd_str);
                bgp->vpn_policy[afi].tovpn_rd = prd;