]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: fix bug in a place about label validation
authorValerian_He <1826906282@qq.com>
Wed, 23 Aug 2023 10:17:08 +0000 (10:17 +0000)
committerValerian_He <1826906282@qq.com>
Thu, 24 Aug 2023 02:17:06 +0000 (02:17 +0000)
Shouldn't validate the label after 'decode_label'. If we validate
the label after 'decode_label', even the 'MPLS_INVALID_LABEL' will
be valid then.

Signed-off-by: Valerian_He <1826906282@qq.com>
bgpd/bgp_route.c

index a91292d971f8722e836a4a509794484f6ad8924f..dce8859bc8db0d8f563e4d2faee1e566f85f14d1 100644 (file)
@@ -9672,9 +9672,8 @@ void route_vty_out_tag(struct vty *vty, const struct prefix *p,
                }
        }
 
-       label = decode_label(&path->extra->label[0]);
-
-       if (bgp_is_valid_label(&label)) {
+       if (bgp_is_valid_label(&path->extra->label[0])) {
+               label = decode_label(&path->extra->label[0]);
                if (json) {
                        json_object_int_add(json_out, "notag", label);
                        json_object_array_add(json, json_out);