diff --git a/[refs] b/[refs] index 30ef6b0a6462..7375bc1c43d2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dc760b375e50a47847d4942811bd9679beeb5535 +refs/heads/master: 8628bd8af7c4c14f40f5183f80f5744c4e682439 diff --git a/trunk/net/ipv4/ip_options.c b/trunk/net/ipv4/ip_options.c index 1906fa35860c..28a736f3442f 100644 --- a/trunk/net/ipv4/ip_options.c +++ b/trunk/net/ipv4/ip_options.c @@ -140,11 +140,11 @@ int ip_options_echo(struct ip_options * dopt, struct sk_buff * skb) } else { dopt->ts_needtime = 0; - if (soffset + 8 <= optlen) { + if (soffset + 7 <= optlen) { __be32 addr; - memcpy(&addr, sptr+soffset-1, 4); - if (inet_addr_type(dev_net(skb_dst(skb)->dev), addr) != RTN_LOCAL) { + memcpy(&addr, dptr+soffset-1, 4); + if (inet_addr_type(dev_net(skb_dst(skb)->dev), addr) != RTN_UNICAST) { dopt->ts_needtime = 1; soffset += 8; }