]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Fix memory leak in subgroup_announce_check
authorXiao Liang <shaw.leon@gmail.com>
Sat, 2 Apr 2022 09:00:26 +0000 (17:00 +0800)
committerXiao Liang <shaw.leon@gmail.com>
Sat, 2 Apr 2022 09:02:35 +0000 (17:02 +0800)
Flush dummy attr to release objects allocated by route-map.

Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
bgpd/bgp_route.c

index 5168221a8f159056c609b8646c18ce4f1485ae1e..72eba2c3bed60b9488529b114c60361d084c8935 100644 (file)
@@ -2207,6 +2207,7 @@ bool subgroup_announce_check(struct bgp_dest *dest, struct bgp_path_info *pi,
                        ret = route_map_apply(ROUTE_MAP_OUT(filter), p,
                                              &rmap_path);
 
+               bgp_attr_flush(&dummy_attr);
                peer->rmap_type = 0;
 
                if (ret == RMAP_DENYMATCH) {
@@ -2216,7 +2217,6 @@ bool subgroup_announce_check(struct bgp_dest *dest, struct bgp_path_info *pi,
                                        peer->host, p,
                                        ROUTE_MAP_OUT_NAME(filter));
 
-                       bgp_attr_flush(&dummy_attr);
                        return false;
                }
        }