diff options
author | Luiz Otavio O Souza <luiz@netgate.com> | 2015-11-18 15:33:44 -0600 |
---|---|---|
committer | Luiz Otavio O Souza <luiz@netgate.com> | 2015-11-18 15:47:23 -0600 |
commit | 4204c9f01d2ab439f6e0b9454ab22d4ffcca8cc4 (patch) | |
tree | 0717c0ab183d65bb1cbedf81372a290fc95e20b2 /sys/netpfil | |
parent | 92cd9c340c26d57240444e55edb3b8cda902096a (diff) | |
download | FreeBSD-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.c | 1 |
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); |