diff options
author | sam <sam@FreeBSD.org> | 2003-02-18 06:20:16 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2003-02-18 06:20:16 +0000 |
commit | 536a9b63bc359a0ce2b001afe3c676a6d4272850 (patch) | |
tree | a8574338b40567bd0fd1d827802868a5eb705332 /sys/netinet6 | |
parent | 7cc8c0d19ef71b73545a1ed0f5b2b9bed15c3ac3 (diff) | |
download | FreeBSD-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')
-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 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. */ |