aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet6
diff options
context:
space:
mode:
authorSam Leffler <sam@FreeBSD.org>2003-02-18 06:20:16 +0000
committerSam Leffler <sam@FreeBSD.org>2003-02-18 06:20:16 +0000
commit5c47350dade5c15ef7978f9125abcac17adff7bc (patch)
treea8574338b40567bd0fd1d827802868a5eb705332 /sys/netinet6
parent9ebb866eb2dd5d6133ec945513dd3a232c5e04f8 (diff)
downloadsrc-5c47350dade5c15ef7978f9125abcac17adff7bc.tar.gz
src-5c47350dade5c15ef7978f9125abcac17adff7bc.zip
M_MOVE_PKTHDR must happen before any cluster is attached
Submitted by: Harti Brandt <brandt@fokus.fraunhofer.de> MFC after: 1 day
Notes
Notes: svn path=/head/; revision=111070
Diffstat (limited to 'sys/netinet6')
-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 6a5884ed1bb0..4fa643472132 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.
*/