]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Don't forget bgp_dest_unlock_node for bgp_static_set()
authorDonatas Abraitis <donatas.abraitis@gmail.com>
Sun, 11 Jul 2021 20:39:53 +0000 (23:39 +0300)
committerDonatas Abraitis <donatas.abraitis@gmail.com>
Fri, 23 Jul 2021 10:10:38 +0000 (13:10 +0300)
Before returning an error, unlock bgp dest which is locked by
bgp_node_lookup().

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
bgpd/bgp_route.c

index 366a53e26c780d19d587fc3a19df9eed6fc905f8..3644d03bb896a344cd55ecd8aad5fdf73af9a4c0 100644 (file)
@@ -5867,6 +5867,7 @@ static int bgp_static_set(struct vty *vty, const char *negate,
                    && (label_index != bgp_static->label_index)) {
                        vty_out(vty,
                                "%% label-index doesn't match static route\n");
+                       bgp_dest_unlock_node(dest);
                        return CMD_WARNING_CONFIG_FAILED;
                }
 
@@ -5874,6 +5875,7 @@ static int bgp_static_set(struct vty *vty, const char *negate,
                    && strcmp(rmap, bgp_static->rmap.name)) {
                        vty_out(vty,
                                "%% route-map name doesn't match static route\n");
+                       bgp_dest_unlock_node(dest);
                        return CMD_WARNING_CONFIG_FAILED;
                }