aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet
diff options
context:
space:
mode:
authorMaxim Konovalov <maxim@FreeBSD.org>2004-05-11 19:14:44 +0000
committerMaxim Konovalov <maxim@FreeBSD.org>2004-05-11 19:14:44 +0000
commita49b21371ae70fe2a0f88d195a4c67a842e4ce7f (patch)
tree4c994bdb0e5b16d5dedda39059abbb35d98232ac /sys/netinet
parentcbb58e9c9ad6a949a1a28faf8c1d514abbb5b21f (diff)
downloadsrc-a49b21371ae70fe2a0f88d195a4c67a842e4ce7f.tar.gz
src-a49b21371ae70fe2a0f88d195a4c67a842e4ce7f.zip
o Calculate a number of bytes to copy (cnt) correctly:
+----+-+-+-+-+----+----+- - - - - - - - - - - - -+----+ | | |C| | | | | | | | IP |N|O|L|P| | IP | | IP | | #1 |O|D|E|T| | #2 | | #n | | |P|E|N|R| | | | | +----+-+-+-+-+----+----+- - - - - - - - - - - - -+----+ ^ ^<---- cnt - (IPOPT_MINOFF - 1) ---->| | | src | +-- cp[IPOPT_OFF + 1] + sizeof(struct in_addr) | dst +-- cp[IPOPT_OFF + 1] PR: kern/66386 Submitted by: Andrei Iltchenko MFC after: 3 weeks
Notes
Notes: svn path=/head/; revision=129126
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/ip_output.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c
index f1f0acdcf220..98da087285e8 100644
--- a/sys/netinet/ip_output.c
+++ b/sys/netinet/ip_output.c
@@ -1735,7 +1735,7 @@ ip_pcbopts(optname, pcbopt, m)
*/
bcopy((&cp[IPOPT_OFFSET+1] + sizeof(struct in_addr)),
&cp[IPOPT_OFFSET+1],
- (unsigned)cnt + sizeof(struct in_addr));
+ (unsigned)cnt - (IPOPT_MINOFF - 1));
break;
}
}