]> 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:13 +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 f95769b3362c3ec122b5eed7f544171586966f29..253f70cd870825588e877e65113a5fb8adbb15da 100644 (file)
@@ -9816,6 +9816,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;