]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: bugfix dplane priority sorting 13755/head
authorG. Paul Ziemba <paulz@labn.net>
Fri, 9 Jun 2023 13:58:20 +0000 (06:58 -0700)
committerG. Paul Ziemba <paulz@labn.net>
Fri, 9 Jun 2023 13:58:20 +0000 (06:58 -0700)
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
zebra/zebra_dplane.c

index a768c33a30eba3fd43c920ccb4b66c59a60c5274..f90f9191eee5a551ae8c14175dcd7202f841aa35 100644 (file)
@@ -5546,7 +5546,7 @@ int dplane_provider_register(const char *name,
                             struct zebra_dplane_provider **prov_p)
 {
        int ret = 0;
-       struct zebra_dplane_provider *p = NULL, *last;
+       struct zebra_dplane_provider *p = NULL, *last, *prev = NULL;
 
        /* Validate */
        if (fp == NULL) {
@@ -5589,10 +5589,11 @@ int dplane_provider_register(const char *name,
        frr_each (dplane_prov_list, &zdplane_info.dg_providers, last) {
                if (last->dp_priority > p->dp_priority)
                        break;
+               prev = last;
        }
 
        if (last)
-               dplane_prov_list_add_after(&zdplane_info.dg_providers, last, p);
+               dplane_prov_list_add_after(&zdplane_info.dg_providers, prev, p);
        else
                dplane_prov_list_add_tail(&zdplane_info.dg_providers, p);