patch-2.1.120 linux/net/ipv4/ip_options.c

Next file: linux/net/ipv4/ip_output.c
Previous file: linux/net/ipv4/ip_nat_dumb.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.119/linux/net/ipv4/ip_options.c linux/net/ipv4/ip_options.c
@@ -5,7 +5,7 @@
  *
  *		The options processing module for ip.c
  *
- * Version:	$Id: ip_options.c,v 1.13 1998/02/12 07:43:12 davem Exp $
+ * Version:	$Id: ip_options.c,v 1.14 1998/08/26 12:03:51 davem Exp $
  *
  * Authors:	A.N.Kuznetsov
  *		
@@ -451,7 +451,7 @@
 
 error:
 	if (skb) {
-		icmp_send(skb, ICMP_PARAMETERPROB, 0, pp_ptr-iph);
+		icmp_send(skb, ICMP_PARAMETERPROB, 0, htonl((pp_ptr-iph)<<24));
 		kfree_skb(skb);
 	}
 	return -EINVAL;
@@ -579,7 +579,7 @@
 	if (rt->rt_type == RTN_UNICAST) {
 		if (!opt->is_strictroute)
 			return 0;
-		icmp_send(skb, ICMP_PARAMETERPROB, 0, 16);
+		icmp_send(skb, ICMP_PARAMETERPROB, 0, htonl(16<<24));
 		return -EINVAL;
 	}
 	if (rt->rt_type != RTN_LOCAL)
@@ -587,7 +587,7 @@
 
 	for (srrptr=optptr[2], srrspace = optptr[1]; srrptr <= srrspace; srrptr += 4) {
 		if (srrptr + 3 > srrspace) {
-			icmp_send(skb, ICMP_PARAMETERPROB, 0, opt->srr+2);
+			icmp_send(skb, ICMP_PARAMETERPROB, 0, htonl((opt->srr+2)<<24));
 			return -EINVAL;
 		}
 		memcpy(&nexthop, &optptr[srrptr-1], 4);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov