diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-03-04 14:36:34 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-03-04 14:36:34 +0000 |
commit | ff54f54165647c82f057a6d2f3a14e8a0be187cd (patch) | |
tree | 7cd754d4e705e5471d1b93ab29421401536fbdcc /package | |
parent | b96d21446846be7798eaa7db3cf314984d335407 (diff) |
hopefully fix ping bugs introduced in [6443]
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6505 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r-- | package/busybox/patches/450-truncated_ping_results.patch | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/package/busybox/patches/450-truncated_ping_results.patch b/package/busybox/patches/450-truncated_ping_results.patch index 30e86701a3..f60a1a9c02 100644 --- a/package/busybox/patches/450-truncated_ping_results.patch +++ b/package/busybox/patches/450-truncated_ping_results.patch @@ -5,7 +5,7 @@ struct icmp *pkt; int pingsock, c; - char packet[DEFDATALEN + MAXIPLEN + MAXICMPLEN]; -+ char packet[datalen + MAXIPLEN + MAXICMPLEN]; ++ char packet[datalen + ICMP_MINLEN + MAXIPLEN + MAXICMPLEN]; pingsock = create_icmp_socket(); @@ -18,17 +18,6 @@ (struct sockaddr *) &pingaddr, sizeof(struct sockaddr_in)); if (c < 0) { -@@ -257,8 +257,8 @@ - - gettimeofday(&tv, NULL); - -- /* discard if too short */ -- if (sz < (datalen + ICMP_MINLEN)) -+ /* discard if too short / long */ -+ if (sz < (datalen + ICMP_MINLEN) || sz > (MAXICMPLEN)) - return; - - /* check IP header */ @@ -274,6 +274,10 @@ ++nreceived; tp = (struct timeval *) icmppkt->icmp_data; |