summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/icmp6.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2003-02-18 06:20:16 +0000
committersam <sam@FreeBSD.org>2003-02-18 06:20:16 +0000
commit536a9b63bc359a0ce2b001afe3c676a6d4272850 (patch)
treea8574338b40567bd0fd1d827802868a5eb705332 /sys/netinet6/icmp6.c
parent7cc8c0d19ef71b73545a1ed0f5b2b9bed15c3ac3 (diff)
downloadFreeBSD-src-536a9b63bc359a0ce2b001afe3c676a6d4272850.zip
FreeBSD-src-536a9b63bc359a0ce2b001afe3c676a6d4272850.tar.gz
M_MOVE_PKTHDR must happen before any cluster is attached
Submitted by: Harti Brandt <brandt@fokus.fraunhofer.de> MFC after: 1 day
Diffstat (limited to 'sys/netinet6/icmp6.c')
-rw-r--r--sys/netinet6/icmp6.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c
index 6a5884e..4fa6434 100644
--- a/sys/netinet6/icmp6.c
+++ b/sys/netinet6/icmp6.c
@@ -563,6 +563,9 @@ icmp6_input(mp, offp, proto)
break;
}
MGETHDR(n, M_NOWAIT, n0->m_type);
+ n0len = n0->m_pkthdr.len; /* save for use below */
+ if (n)
+ M_MOVE_PKTHDR(n, n0);
if (n && maxlen >= MHLEN) {
MCLGET(n, M_NOWAIT);
if ((n->m_flags & M_EXT) == 0) {
@@ -575,8 +578,6 @@ icmp6_input(mp, offp, proto)
m_freem(n0);
break;
}
- n0len = n0->m_pkthdr.len; /* save for use below */
- M_MOVE_PKTHDR(n, n0);
/*
* Copy IPv6 and ICMPv6 only.
*/
OpenPOWER on IntegriCloud