[IPV4]: ip_options_fragment() has no effect on fragmentation
authorWei Yongjun <weiyj@soft.fujitsu.com>
Tue, 9 May 2006 22:18:50 +0000 (15:18 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 9 May 2006 22:18:50 +0000 (15:18 -0700)
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>
net/ipv4/ip_options.c

index 9bebad07bf2ec4baea772a654e7d37808504928c..cbcae6544622932cbb7f0a57d648338bd699ceb9 100644 (file)
@@ -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;