summaryrefslogtreecommitdiff
path: root/net/ipv4/ip_options.c
diff options
context:
space:
mode:
authorWei Yongjun <weiyj@soft.fujitsu.com>2006-05-10 02:18:50 +0400
committerDavid S. Miller <davem@davemloft.net>2006-05-10 02:18:50 +0400
commit63cbd2fda38f3d1f107c4fd6261e5660be3eccf9 (patch)
tree67af128970e072a754949317cb4cc0a51cc404c5 /net/ipv4/ip_options.c
parent3a01c1ef75e1d84752ddef607c389bbde9c2576e (diff)
downloadlinux-63cbd2fda38f3d1f107c4fd6261e5660be3eccf9.tar.xz
[IPV4]: ip_options_fragment() has no effect on fragmentation
Fix error point to options in ip_options_fragment(). optptr get a error pointer to the ipv4 header, correct is pointer to ipv4 options. Signed-off-by: Wei Yongjun <weiyj@soft.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ip_options.c')
-rw-r--r--net/ipv4/ip_options.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c
index 9bebad07bf2e..cbcae6544622 100644
--- a/net/ipv4/ip_options.c
+++ b/net/ipv4/ip_options.c
@@ -209,7 +209,7 @@ int ip_options_echo(struct ip_options * dopt, struct sk_buff * skb)
void ip_options_fragment(struct sk_buff * skb)
{
- unsigned char * optptr = skb->nh.raw;
+ unsigned char * optptr = skb->nh.raw + sizeof(struct iphdr);
struct ip_options * opt = &(IPCB(skb)->opt);
int l = opt->optlen;
int optlen;