]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
don't free VP, pair_delete() does that
authorAlan T. DeKok <aland@freeradius.org>
Fri, 12 Nov 2021 21:19:28 +0000 (16:19 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 12 Nov 2021 21:20:53 +0000 (16:20 -0500)
src/lib/util/edit.c

index d226ba58c1f6bc064ec1bbec7643818c13307c74..7a89917130f0f4b657b8b1d438985e09d4dce29d 100644 (file)
@@ -113,7 +113,6 @@ static int edit_undo(fr_edit_t *e)
                 *      must come after this VP was created.
                 */
                fr_pair_delete(e->list, vp);
-               talloc_free(vp);
                break;
        }
 
@@ -141,6 +140,11 @@ void fr_edit_list_abort(fr_edit_list_t *el)
         */
        while ((e = fr_dlist_pop_tail(&el->list)) != NULL) {
                edit_undo(e);
+               /*
+                *      Don't free "e", it will be cleaned up when we
+                *      talloc_free(el).  That should be somewhat
+                *      faster than doing it incrementally.
+                */
        };
 }