diff options
author | sam <sam@FreeBSD.org> | 2003-01-06 21:33:54 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2003-01-06 21:33:54 +0000 |
commit | 01e5d3cdfd1592251774c8d6fdce39ecc348bbe2 (patch) | |
tree | 32e66c585db8ac5e6f1bda8784afcd281685e65b /sys/netinet6/ip6_input.c | |
parent | 8a8e425d5fc1d12adf7d7c15d5e65fa7a84e20d8 (diff) | |
download | FreeBSD-src-01e5d3cdfd1592251774c8d6fdce39ecc348bbe2.zip FreeBSD-src-01e5d3cdfd1592251774c8d6fdce39ecc348bbe2.tar.gz |
don't reference a pkthdr after M_MOVE_PKTHDR has "remove it"; instead
reference the pkthdr now in the destination of the move
Sponsored by: Vernier Networks
Diffstat (limited to 'sys/netinet6/ip6_input.c')
-rw-r--r-- | sys/netinet6/ip6_input.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c index 15a44bb..1f37bae 100644 --- a/sys/netinet6/ip6_input.c +++ b/sys/netinet6/ip6_input.c @@ -320,7 +320,7 @@ ip6_input(m) MGETHDR(n, M_DONTWAIT, MT_HEADER); if (n) M_MOVE_PKTHDR(n, m); - if (n && m->m_pkthdr.len > MHLEN) { + if (n && n->m_pkthdr.len > MHLEN) { MCLGET(n, M_DONTWAIT); if ((n->m_flags & M_EXT) == 0) { m_freem(n); @@ -332,8 +332,8 @@ ip6_input(m) return; /*ENOBUFS*/ } - m_copydata(m, 0, m->m_pkthdr.len, mtod(n, caddr_t)); - n->m_len = m->m_pkthdr.len; + m_copydata(m, 0, n->m_pkthdr.len, mtod(n, caddr_t)); + n->m_len = n->m_pkthdr.len; m_freem(m); m = n; } |