aboutsummaryrefslogtreecommitdiff
path: root/sys/netpfil/pf
diff options
context:
space:
mode:
authorAndrey V. Elsukov <ae@FreeBSD.org>2015-03-12 08:57:24 +0000
committerAndrey V. Elsukov <ae@FreeBSD.org>2015-03-12 08:57:24 +0000
commit998fbd14b8caf8755f764548678bb8ad9a5a052e (patch)
tree011a2cc4f0213076c2065c074db570889a6ce326 /sys/netpfil/pf
parent552f44af8b26513f9b2600d2530cd51b224d1584 (diff)
downloadsrc-998fbd14b8caf8755f764548678bb8ad9a5a052e.tar.gz
src-998fbd14b8caf8755f764548678bb8ad9a5a052e.zip
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. Submitted by: Kristof Provost MFC after: 1 week
Notes
Notes: svn path=/head/; revision=279910
Diffstat (limited to 'sys/netpfil/pf')
-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 b32288b695cd..7c3ddb808de0 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -5470,6 +5470,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;
}