summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAngelos D. Keromytis <angelos@cvs.openbsd.org>2000-04-09 17:43:03 +0000
committerAngelos D. Keromytis <angelos@cvs.openbsd.org>2000-04-09 17:43:03 +0000
commit4dab01eda7a3d5eb1835ee40505b55cde7bdb3c0 (patch)
tree6a276e6b35ba3f64ef099d7117572a9ebeb2ea0d /sys
parent7ccfbe04f2f5c8ae9c331d93d47078f8cb434e0c (diff)
Pass ip_off and ip_len in the correct byte order to icmp_error(); this
should fix the crash problems with isic, reported last week.
Diffstat (limited to 'sys')
-rw-r--r--sys/netinet/ip_input.c4
-rw-r--r--sys/netinet/udp_usrreq.c4
2 files changed, 2 insertions, 6 deletions
diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c
index f4fac0fd7d5..0702db57c88 100644
--- a/sys/netinet/ip_input.c
+++ b/sys/netinet/ip_input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip_input.c,v 1.51 2000/04/04 13:43:02 angelos Exp $ */
+/* $OpenBSD: ip_input.c,v 1.52 2000/04/09 17:43:02 angelos Exp $ */
/* $NetBSD: ip_input.c,v 1.30 1996/03/16 23:53:58 christos Exp $ */
/*
@@ -1040,9 +1040,7 @@ ip_dooptions(m)
return (0);
bad:
ip->ip_len -= ip->ip_hl << 2; /* XXX icmp_error adds in hdr length */
- HTONS(ip->ip_len); /* XXX because ip_input changed these three */
HTONS(ip->ip_id);
- HTONS(ip->ip_off);
icmp_error(m, type, code, 0, 0);
ipstat.ips_badoptions++;
return (1);
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c
index 5114a17bb3a..d82d9134635 100644
--- a/sys/netinet/udp_usrreq.c
+++ b/sys/netinet/udp_usrreq.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: udp_usrreq.c,v 1.39 2000/02/18 05:21:01 itojun Exp $ */
+/* $OpenBSD: udp_usrreq.c,v 1.40 2000/04/09 17:43:02 angelos Exp $ */
/* $NetBSD: udp_usrreq.c,v 1.28 1996/03/16 23:54:03 christos Exp $ */
/*
@@ -521,9 +521,7 @@ udp_input(m, va_alist)
#endif /* INET6 */
{
*ip = save_ip;
- HTONS(ip->ip_len);
HTONS(ip->ip_id);
- HTONS(ip->ip_off);
uh->uh_sum = savesum;
icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_PORT,
0, 0);