]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
delete all matchine local variables
authorAlan T. DeKok <aland@freeradius.org>
Mon, 25 Sep 2023 00:23:31 +0000 (20:23 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 25 Sep 2023 00:23:31 +0000 (20:23 -0400)
they can be created in any order, so we can't rely on just checking
the tail

src/lib/unlang/interpret.c

index 1fa2101c8ec7a5a8137582e7f612de239b6987ea..4ceae8df2ae9d06afb30ebec23fde55e41b28706 100644 (file)
@@ -217,9 +217,7 @@ typedef struct {
 
 static int _local_variables_free(unlang_variable_ref_t *ref)
 {
-       fr_pair_t *vp;
-
-       while ((vp = fr_pair_list_tail(&ref->request->local_pairs)) != NULL) {
+       fr_pair_list_foreach(&ref->request->local_pairs, vp) {
                if (vp->da->dict != ref->dict) break;
 
                (void) fr_pair_delete(&ref->request->local_pairs, vp);