The branch main has been updated by kp:

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

commit ddbf89234312791e65991efff39a18a9e8e4d077
Author:     Kristof Provost <[email protected]>
AuthorDate: 2026-07-13 13:14:10 +0000
Commit:     Kristof Provost <[email protected]>
CommitDate: 2026-07-15 11:44:59 +0000

    pfctl: fix CREATE_TABLE error handling
    
    pfr_add_table() does not set errno, it returns an error (now).
    Read the error code from the return value so we display the correct
    error message to the user.
    
    Sponsored by:   Rubicon Communications, LLC ("Netgate")
---
 sbin/pfctl/pfctl_table.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/sbin/pfctl/pfctl_table.c b/sbin/pfctl/pfctl_table.c
index aae347712547..aec02c493f1b 100644
--- a/sbin/pfctl/pfctl_table.c
+++ b/sbin/pfctl/pfctl_table.c
@@ -85,14 +85,15 @@ static const char   *istats_text[2][2][2] = {
        } while (0)
 
 #define CREATE_TABLE do {                                              \
+               int _ret;                                               \
                warn_duplicate_tables(table.pfrt_name,                  \
                    table.pfrt_anchor);                                 \
                table.pfrt_flags |= PFR_TFLAG_PERSIST;                  \
                if ((!(opts & PF_OPT_NOACTION) ||                       \
                    (opts & PF_OPT_DUMMYACTION)) &&                     \
-                   (pfr_add_table(&table, &nadd, flags)) &&            \
-                   (errno != EPERM)) {                                 \
-                       warnx("%s", pf_strerror(errno));                \
+                   (_ret = pfr_add_table(&table, &nadd, flags)) &&     \
+                   (_ret != EPERM)) {                                  \
+                       warnx("%s", pf_strerror(_ret));                 \
                        goto _error;                                    \
                }                                                       \
                if (nadd) {                                             \

Reply via email to