summaryrefslogtreecommitdiffstats
path: root/sys/netpfil
diff options
context:
space:
mode:
authorLuiz Otavio O Souza <luiz@netgate.com>2015-11-18 15:33:44 -0600
committerLuiz Otavio O Souza <luiz@netgate.com>2015-11-18 15:47:23 -0600
commit4204c9f01d2ab439f6e0b9454ab22d4ffcca8cc4 (patch)
tree0717c0ab183d65bb1cbedf81372a290fc95e20b2 /sys/netpfil
parent92cd9c340c26d57240444e55edb3b8cda902096a (diff)
downloadFreeBSD-src-4204c9f01d2ab439f6e0b9454ab22d4ffcca8cc4.zip
FreeBSD-src-4204c9f01d2ab439f6e0b9454ab22d4ffcca8cc4.tar.gz
Set the interface pointer in all v6 fragments.
Fix a crash in ip6_forward() caused by a NULL m->m_pkthdr.rcvif. Issue: #5428
Diffstat (limited to 'sys/netpfil')
-rw-r--r--sys/netpfil/pf/pf_norm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c
index 4f9a499..b925960 100644
--- a/sys/netpfil/pf/pf_norm.c
+++ b/sys/netpfil/pf/pf_norm.c
@@ -1151,6 +1151,7 @@ pf_refragment6(struct ifnet *ifp, struct mbuf **m0, struct m_tag *mtag)
for (t = m; m; m = t) {
t = m->m_nextpkt;
m->m_nextpkt = NULL;
+ m->m_pkthdr.rcvif = ifp;
m->m_flags |= M_SKIP_FIREWALL;
memset(&pd, 0, sizeof(pd));
pd.pf_mtag = pf_find_mtag(m);
OpenPOWER on IntegriCloud