From 14faeecff52f1ba071c6f109b606a4786de0d876 Mon Sep 17 00:00:00 2001 From: Philippe Wooding Date: Mon, 21 Nov 2016 12:07:24 +0100 Subject: [PATCH] Fix typos and option 82 handling in DHCP sort changes --- src/lib/pair.c | 3 ++- src/modules/proto_dhcp/dhcp.c | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/lib/pair.c b/src/lib/pair.c index 3b270da8e1b..b7f8992a892 100644 --- a/src/lib/pair.c +++ b/src/lib/pair.c @@ -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; } diff --git a/src/modules/proto_dhcp/dhcp.c b/src/modules/proto_dhcp/dhcp.c index d63ef7a737a..b66079d5076 100644 --- a/src/modules/proto_dhcp/dhcp.c +++ b/src/modules/proto_dhcp/dhcp.c @@ -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 -- 2.47.3