]> 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)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Fri, 20 Dec 2024 14:16:07 +0000 (14:16 +0000)
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>
(cherry picked from commit 0dd96287dda22b79ef6d7424f4e1a8dc92959f92)

bgpd/bgp_vty.c

index fdf84395e2dec5be3e5964295a0b8828f7a6d566..97ca5622b935810819cecf88439bf44ba646d328 100644 (file)
@@ -9482,6 +9482,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;