]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Fix typos and option 82 handling in DHCP sort changes 1852/head
authorPhilippe Wooding <philippe.wooding@networkradius.com>
Mon, 21 Nov 2016 11:07:24 +0000 (12:07 +0100)
committerPhilippe Wooding <philippe.wooding@networkradius.com>
Mon, 21 Nov 2016 11:08:03 +0000 (12:08 +0100)
src/lib/pair.c
src/modules/proto_dhcp/dhcp.c

index 3b270da8e1b6a9cdcb053236ffb81003d5de7a48..b7f8992a89218641b25431561a8c2110de2463ab 100644 (file)
@@ -981,6 +981,7 @@ int8_t fr_pair_cmp_by_parent_num_tag(void const *a, void const *b)
        fr_dict_attr_t const    *da_b = vp_b->da;
        fr_dict_attr_t const    *tlv_stack_a[FR_DICT_MAX_TLV_STACK + 1];
        fr_dict_attr_t const    *tlv_stack_b[FR_DICT_MAX_TLV_STACK + 1];
+       int i;
 
        /*
         *      Fast path (assuming attributes
@@ -991,7 +992,7 @@ int8_t fr_pair_cmp_by_parent_num_tag(void const *a, void const *b)
        fr_proto_tlv_stack_build(tlv_stack_a, da_a);
        fr_proto_tlv_stack_build(tlv_stack_b, da_b);
 
-       for (da_a = tlv_stack_a[0], da_b = tlv_stack_b[0]; da_a && da_b; da_a++, da_b++) {
+       for (i = 0; (da_a = tlv_stack_a[i]) && (da_b = tlv_stack_b[i]); i++) {
                if (da_a->attr > da_b->attr) return +1;
                if (da_a->attr < da_b->attr) return -1;
        }
index d63ef7a737af759ad0e2425d133ca56cf4b592f4..b66079d5076efde93245451eeab981862ca143a0 100644 (file)
@@ -1342,12 +1342,12 @@ int8_t fr_dhcp_attr_cmp(void const *a, void const *b)
        /*
         *      Relay-Agent is last
         */
-       if (((my_a->da->parent->type != PW_TYPE_TLV) && (my_a->da->attr == PW_DHCP_OPTION_82)) &&
-           ((my_b->da->parent->type == PW_TYPE_TLV) || (my_b->da->attr != PW_DHCP_OPTION_82))) return +1;
-       if (((my_a->da->parent->type == PW_TYPE_TLV) || (my_a->da->attr != PW_DHCP_OPTION_82)) &&
-           ((my_b->da->parent->type != PW_TYPE_TLV) && (my_b->da->attr == PW_DHCP_OPTION_82))) return -1;
+       if ((my_a->da->parent->attr == PW_DHCP_OPTION_82) &&
+           (my_b->da->parent->attr != PW_DHCP_OPTION_82)) return +1;
+       if ((my_a->da->parent->attr != PW_DHCP_OPTION_82) &&
+           (my_b->da->parent->attr == PW_DHCP_OPTION_82)) return -1;
 
-       return fr_pair_cmp_by_parent_num_tag(my_a->da, my_b->da);
+       return fr_pair_cmp_by_parent_num_tag(my_a, my_b);
 }
 
 /** Write DHCP option value into buffer