diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c index 9bebad07bf2ec4baea772a654e7d37808504928c..cbcae6544622932cbb7f0a57d648338bd699ceb9 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;