]> git.proxmox.com Git - mirror_frr.git/commitdiff
bgpd: Don't forget bgp_dest_unlock_node before return
authorDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 13 Sep 2022 22:44:23 +0000 (01:44 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Fri, 16 Sep 2022 13:16:01 +0000 (16:16 +0300)
Before returning an error, unlock bgp dest which is locked by
bgp_node_lookup()/bgp_node_get().

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgp_route.c

index 162a7ed881f4f7ae29db227fe1fa66caf91e07f6..eb002878909b362a34e2eaf99551c16babeb55f0 100644 (file)
@@ -6014,6 +6014,7 @@ void bgp_static_update(struct bgp *bgp, const struct prefix *p,
                        /* Unintern original. */
                        aspath_unintern(&attr.aspath);
                        bgp_static_withdraw(bgp, p, afi, safi);
+                       bgp_dest_unlock_node(dest);
                        return;
                }
 
@@ -6340,6 +6341,7 @@ static void bgp_static_update_safi(struct bgp *bgp, const struct prefix *p,
                        aspath_unintern(&attr.aspath);
                        bgp_static_withdraw_safi(bgp, p, afi, safi,
                                                 &bgp_static->prd);
+                       bgp_dest_unlock_node(dest);
                        return;
                }