summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorae <ae@FreeBSD.org>2015-03-19 12:49:55 +0000
committerae <ae@FreeBSD.org>2015-03-19 12:49:55 +0000
commit7fe0fee3eb948182a252b31ed8c3acf4e9d6d74b (patch)
treeaddee84fcb6f31bcc16619c6edabb1003e79f682 /sys
parentbcbbcda0f2e4af8b9dd5b88b8aee78fb712e107e (diff)
downloadFreeBSD-src-7fe0fee3eb948182a252b31ed8c3acf4e9d6d74b.zip
FreeBSD-src-7fe0fee3eb948182a252b31ed8c3acf4e9d6d74b.tar.gz
MFC r279910:
Reset mbuf pointer to NULL in fastroute case to indicate that mbuf was consumed by filter. This fixes several panics due to accessing to mbuf after free.
Diffstat (limited to 'sys')
-rw-r--r--sys/netpfil/pf/pf.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index d3e6598..302771d 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -5440,6 +5440,7 @@ pf_route6(struct mbuf **m, struct pf_rule *r, int dir, struct ifnet *oifp,
PF_STATE_UNLOCK(s);
m0->m_flags |= M_SKIP_FIREWALL;
ip6_output(m0, NULL, NULL, 0, NULL, NULL, NULL);
+ *m = NULL;
return;
}
OpenPOWER on IntegriCloud