From: Nick Porter Date: Mon, 9 Nov 2020 09:42:55 +0000 (+0000) Subject: Amend fr_pair_find_by_child_num() to take fr_pair_list_t * X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9238ab74cd7fa21e36a656c62ac7348ee79cccfa;p=thirdparty%2Ffreeradius-server.git Amend fr_pair_find_by_child_num() to take fr_pair_list_t * --- diff --git a/src/lib/eap_aka_sim/encode.c b/src/lib/eap_aka_sim/encode.c index 83fb0ff9986..a1a202e7318 100644 --- a/src/lib/eap_aka_sim/encode.c +++ b/src/lib/eap_aka_sim/encode.c @@ -958,7 +958,7 @@ ssize_t fr_aka_sim_encode(request_t *request, fr_pair_t *to_encode, void *encode * It might be too big for putting into an * EAP packet. */ - vp = fr_pair_find_by_child_num(to_encode, packet_ctx->root, FR_SUBTYPE); + vp = fr_pair_find_by_child_num(&to_encode, packet_ctx->root, FR_SUBTYPE); if (!vp) { REDEBUG("Missing subtype attribute"); return PAIR_ENCODE_FATAL_ERROR; @@ -974,7 +974,7 @@ ssize_t fr_aka_sim_encode(request_t *request, fr_pair_t *to_encode, void *encode /* * Will we need to generate a HMAC? */ - if (fr_pair_find_by_child_num(to_encode, packet_ctx->root, FR_MAC)) do_hmac = true; + if (fr_pair_find_by_child_num(&to_encode, packet_ctx->root, FR_MAC)) do_hmac = true; /* * Fast path, we just need to encode a subtype diff --git a/src/lib/util/pair.c b/src/lib/util/pair.c index 125c2042b15..afb2489e774 100644 --- a/src/lib/util/pair.c +++ b/src/lib/util/pair.c @@ -444,20 +444,20 @@ fr_pair_t *fr_pair_find_by_num(fr_pair_list_t *head, unsigned int vendor, unsign /** Find the pair with the matching attribute * */ -fr_pair_t *fr_pair_find_by_child_num(fr_pair_t *head, fr_dict_attr_t const *parent, unsigned int attr) +fr_pair_t *fr_pair_find_by_child_num(fr_pair_list_t *head, fr_dict_attr_t const *parent, unsigned int attr) { fr_dict_attr_t const *da; fr_pair_t *vp; /* List head may be NULL if it contains no VPs */ - if (!head) return NULL; + if (!*head) return NULL; - LIST_VERIFY(head); + LIST_VERIFY(*head); da = fr_dict_attr_child_by_num(parent, attr); if (!da) return NULL; - for (vp = head; vp != NULL; vp = vp->next) if (da == vp->da) return vp; + for (vp = *head; vp != NULL; vp = vp->next) if (da == vp->da) return vp; return NULL; } diff --git a/src/lib/util/pair.h b/src/lib/util/pair.h index c0a105963e5..a92eef5275e 100644 --- a/src/lib/util/pair.h +++ b/src/lib/util/pair.h @@ -228,7 +228,7 @@ fr_pair_t *fr_pair_find_by_da(fr_pair_list_t *head, fr_dict_attr_t const *da); fr_pair_t *fr_pair_find_by_num(fr_pair_list_t *head, unsigned int vendor, unsigned int attr); -fr_pair_t *fr_pair_find_by_child_num(fr_pair_t *head, fr_dict_attr_t const *parent, unsigned int attr); +fr_pair_t *fr_pair_find_by_child_num(fr_pair_list_t *head, fr_dict_attr_t const *parent, unsigned int attr); void fr_pair_add(fr_pair_list_t *head, fr_pair_t *vp);