]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
fr_pair_list_copy should append not prepend
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 13 Nov 2020 18:10:37 +0000 (12:10 -0600)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 13 Nov 2020 18:10:37 +0000 (12:10 -0600)
src/lib/server/map.c
src/lib/util/pair.c

index 27eea137ba674c780e6afbb8746062723bd56d3e..520cdd9dab781aaa4d784034ddf109ad1b7470b3 100644 (file)
@@ -1583,7 +1583,6 @@ int map_to_request(request_t *request, map_t const *map, radius_map_getvalue_t f
                tmpl_attr_extent_t      *extent = NULL;
                fr_dlist_head_t         leaf;
                fr_dlist_head_t         interior;
-               fr_pair_t               *src_vp;
 
                fr_dlist_talloc_init(&leaf, tmpl_attr_extent_t, entry);
                fr_dlist_talloc_init(&interior, tmpl_attr_extent_t, entry);
@@ -1601,7 +1600,6 @@ int map_to_request(request_t *request, map_t const *map, radius_map_getvalue_t f
 
                if (fr_dlist_num_elements(&leaf) > 1) {
                        while ((extent = fr_dlist_remove(&leaf, NULL))) {
-                               fr_pair_add(extent->list, fr_pair_copy(extent->list_ctx, src_vp));
                                fr_pair_list_copy(extent->list_ctx, extent->list, &head);
                                fr_dlist_talloc_free_head(&leaf);
                        }
index 3e343f7db8e966cae45528f310fd91dbcdaacc34..657c08826a77c3cc4cee73fbb43960fe7b846255 100644 (file)
@@ -1269,6 +1269,7 @@ int fr_pair_list_copy(TALLOC_CTX *ctx, fr_pair_list_t *to, fr_pair_list_t const
        } else {
                fr_cursor_talloc_init(&dst, to, fr_pair_t);
                fr_cursor_head(&tmp);
+               fr_cursor_tail(&dst);
                fr_cursor_merge(&dst, &tmp);
        }