]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Amend fr_pair_find_by_child_num() to take fr_pair_list_t *
authorNick Porter <nick@portercomputing.co.uk>
Mon, 9 Nov 2020 09:42:55 +0000 (09:42 +0000)
committerAlan DeKok <aland@freeradius.org>
Mon, 9 Nov 2020 13:21:17 +0000 (08:21 -0500)
src/lib/eap_aka_sim/encode.c
src/lib/util/pair.c
src/lib/util/pair.h

index 83fb0ff99862f3cdd6f9a4232945914704d9594f..a1a202e7318b6b89675b3f7c0b0d66a05a6c5a48 100644 (file)
@@ -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
index 125c2042b15a1099b64b44d9436cd037542df3de..afb2489e774ea1e4f3baae9a1f8496b5bd4aeff7 100644 (file)
@@ -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;
 }
index c0a105963e542fef286aaa18d042720b86dc6d89..a92eef5275e0003a25c9564bce5365ec58bd0dbb 100644 (file)
@@ -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);