git: 5e00a28b2f02 - stable/14 - MAC/do: toast_rules(): Minor simplification

From: Olivier Certner <olce_at_FreeBSD.org>
Date: Thu, 03 Apr 2025 19:32:29 UTC
The branch stable/14 has been updated by olce:

URL: https://cgit.FreeBSD.org/src/commit/?id=5e00a28b2f02a820f9cf9e04b38839f8da835db8

commit 5e00a28b2f02a820f9cf9e04b38839f8da835db8
Author:     Olivier Certner <olce@FreeBSD.org>
AuthorDate: 2024-08-13 08:53:24 +0000
Commit:     Olivier Certner <olce@FreeBSD.org>
CommitDate: 2025-04-03 19:31:05 +0000

    MAC/do: toast_rules(): Minor simplification
    
    Use the most common pattern to browse and delete elements of a list, as it reads quicker.
    
    Reviewed by:    bapt
    Approved by:    markj (mentor)
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D47622
    
    (cherry picked from commit 2110eef4bf608b6c1facc57c68d02960b6d880c9)
---
 sys/security/mac_do/mac_do.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/sys/security/mac_do/mac_do.c b/sys/security/mac_do/mac_do.c
index 2ce608c754bc..dc5933930a41 100644
--- a/sys/security/mac_do/mac_do.c
+++ b/sys/security/mac_do/mac_do.c
@@ -311,10 +311,9 @@ static void
 toast_rules(struct rules *const rules)
 {
 	struct rulehead *const head = &rules->head;
-	struct rule *rule;
+	struct rule *rule, *rule_next;
 
-	while ((rule = TAILQ_FIRST(head)) != NULL) {
-		TAILQ_REMOVE(head, rule, r_entries);
+	TAILQ_FOREACH_SAFE(rule, head, r_entries, rule_next) {
 		free(rule->uids, M_DO);
 		free(rule->gids, M_DO);
 		free(rule, M_DO);