diff options
Diffstat (limited to 'net/ipv4/ip_options.c')
| -rw-r--r-- | net/ipv4/ip_options.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c index 01fc40965848..c5c26192b057 100644 --- a/net/ipv4/ip_options.c +++ b/net/ipv4/ip_options.c | |||
| @@ -601,7 +601,7 @@ int ip_options_rcv_srr(struct sk_buff *skb) | |||
| 601 | unsigned long orefdst; | 601 | unsigned long orefdst; |
| 602 | int err; | 602 | int err; |
| 603 | 603 | ||
| 604 | if (!opt->srr || !rt) | 604 | if (!rt) |
| 605 | return 0; | 605 | return 0; |
| 606 | 606 | ||
| 607 | if (skb->pkt_type != PACKET_HOST) | 607 | if (skb->pkt_type != PACKET_HOST) |
| @@ -635,7 +635,7 @@ int ip_options_rcv_srr(struct sk_buff *skb) | |||
| 635 | if (rt2->rt_type != RTN_LOCAL) | 635 | if (rt2->rt_type != RTN_LOCAL) |
| 636 | break; | 636 | break; |
| 637 | /* Superfast 8) loopback forward */ | 637 | /* Superfast 8) loopback forward */ |
| 638 | memcpy(&iph->daddr, &optptr[srrptr-1], 4); | 638 | iph->daddr = nexthop; |
| 639 | opt->is_changed = 1; | 639 | opt->is_changed = 1; |
| 640 | } | 640 | } |
| 641 | if (srrptr <= srrspace) { | 641 | if (srrptr <= srrspace) { |
