git: a451bdf25b53 - main - pfctl: clean up TAILQ use in symset()/symget()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 09 May 2025 22:16:19 UTC
The branch main has been updated by kp:
URL: https://cgit.FreeBSD.org/src/commit/?id=a451bdf25b534130d7ec5a6e3ef8e7b33fc6bdd5
commit a451bdf25b534130d7ec5a6e3ef8e7b33fc6bdd5
Author: Kristof Provost <kp@FreeBSD.org>
AuthorDate: 2025-05-08 15:14:18 +0000
Commit: Kristof Provost <kp@FreeBSD.org>
CommitDate: 2025-05-09 20:49:29 +0000
pfctl: clean up TAILQ use in symset()/symget()
Replace symset()'s hand-rolled for(;;) traversal of 'symhead' TAILQ
with more modern TAILQ_FOREACH(). This what symget() was already
doing.
Add paranoia '{}' around body of symget()'s TAILQ_FOREACH().
No intentional functional change.
ok bluhm@ otto@
Obtained from: OpenBSD, krw <krw@openbsd.org>, 54c95b7a05
Sponsored by: Rubicon Communications, LLC ("Netgate")
---
sbin/pfctl/parse.y | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y
index f1ed5444cadd..befa5a9b0d39 100644
--- a/sbin/pfctl/parse.y
+++ b/sbin/pfctl/parse.y
@@ -7178,9 +7178,10 @@ symset(const char *nam, const char *val, int persist)
{
struct sym *sym;
- for (sym = TAILQ_FIRST(&symhead); sym && strcmp(nam, sym->nam);
- sym = TAILQ_NEXT(sym, entry))
- ; /* nothing */
+ TAILQ_FOREACH(sym, &symhead, entry) {
+ if (strcmp(nam, sym->nam) == 0)
+ break;
+ }
if (sym != NULL) {
if (sym->persist == 1)
@@ -7237,11 +7238,12 @@ symget(const char *nam)
{
struct sym *sym;
- TAILQ_FOREACH(sym, &symhead, entry)
+ TAILQ_FOREACH(sym, &symhead, entry) {
if (strcmp(nam, sym->nam) == 0) {
sym->used = 1;
return (sym->val);
}
+ }
return (NULL);
}