diff options
author | Sam Leffler <sam@FreeBSD.org> | 2003-02-18 06:20:16 +0000 |
---|---|---|
committer | Sam Leffler <sam@FreeBSD.org> | 2003-02-18 06:20:16 +0000 |
commit | 5c47350dade5c15ef7978f9125abcac17adff7bc (patch) | |
tree | a8574338b40567bd0fd1d827802868a5eb705332 /sys/netinet6 | |
parent | 9ebb866eb2dd5d6133ec945513dd3a232c5e04f8 (diff) | |
download | src-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.c | 5 |
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. */ |