git: cfacf6465577 - main - pf: fix crash on low memory
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 24 Aug 2026 11:38:24 UTC
The branch main has been updated by kp:
URL: https://cgit.FreeBSD.org/src/commit/?id=cfacf6465577e224acb86d99434d834f4facbfb2
commit cfacf6465577e224acb86d99434d834f4facbfb2
Author: Kristof Provost <kp@FreeBSD.org>
AuthorDate: 2026-08-24 09:31:27 +0000
Commit: Kristof Provost <kp@FreeBSD.org>
CommitDate: 2026-08-24 11:38:03 +0000
pf: fix crash on low memory
pfr_create_kentry() can return NULL. Don't dereference the pointer it
returns until after we've checked it.
Fixes: 08ed87a4a276 ("pf: convert DIOCRSETADDRS to netlink")
See also: https://redmine.netgate.com/issues/23622
Sponsored by: Rubicon Communications, LLC ("Netgate")
---
sys/netpfil/pf/pf_table.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/netpfil/pf/pf_table.c b/sys/netpfil/pf/pf_table.c
index e6290e622fea..dd670d58359b 100644
--- a/sys/netpfil/pf/pf_table.c
+++ b/sys/netpfil/pf/pf_table.c
@@ -446,9 +446,9 @@ pfr_set_addrs(struct pfr_table *tbl, struct pfr_addr *addr, int size,
}
p = pfr_create_kentry(&ad,
(kt->pfrkt_flags & PFR_TFLAG_COUNTERS) != 0);
- p->pfrke_mark = PFR_FB_ADDED;
if (p == NULL)
senderr(ENOMEM);
+ p->pfrke_mark = PFR_FB_ADDED;
if (pfr_route_kentry(tmpkt, p)) {
pfr_destroy_kentry(p);
ad.pfra_fback = PFR_FB_NONE;