]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Correct handling of nested attributes when reading detail files
authorNick Porter <nick@portercomputing.co.uk>
Tue, 16 Dec 2025 08:26:56 +0000 (08:26 +0000)
committerNick Porter <nick@portercomputing.co.uk>
Tue, 16 Dec 2025 08:28:21 +0000 (08:28 +0000)
src/listen/detail/proto_detail.c

index ecf0755dd8493955f35e263ab2192f3a6c548b24..edfe309cf67f6178e245dbd83a6f5893e5e484c9 100644 (file)
@@ -317,11 +317,6 @@ static int mod_decode(void const *instance, request_t *request, uint8_t *const d
                        goto next;
                }
 
-               /*
-                *      Ensure temporary list is empty before each use
-                */
-               fr_pair_list_free(&tmp_list);
-
                /*
                 *      Reinitialize every time.
                 *
@@ -372,9 +367,7 @@ static int mod_decode(void const *instance, request_t *request, uint8_t *const d
                        RWDEBUG("Ignoring line %d - %s", lineno, p);
 
                } else {
-
                        vp = fr_pair_list_head(&tmp_list);
-                       fr_pair_list_append(&request->request_pairs, &tmp_list);
                }
 
                /*
@@ -397,6 +390,8 @@ static int mod_decode(void const *instance, request_t *request, uint8_t *const d
                while ((p < end) && (*p)) p++;
        }
 
+       fr_pair_list_append(&request->request_pairs, &tmp_list);
+
        /*
         *      Let the app_io take care of populating additional fields in the request
         */