]> 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 2ae63d37ac020943c7289ef50bccab6c0dee43c2..8e29e90c7d91ae4b6de3c13610c1b3d98f2e1cfd 100644 (file)
@@ -9708,6 +9708,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;