aboutsummaryrefslogtreecommitdiffstats
path: root/package/busybox/patches/460-truncated_ping_results.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/patches/460-truncated_ping_results.patch')
-rw-r--r--package/busybox/patches/460-truncated_ping_results.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/package/busybox/patches/460-truncated_ping_results.patch b/package/busybox/patches/460-truncated_ping_results.patch
new file mode 100644
index 0000000000..e655acfdf2
--- /dev/null
+++ b/package/busybox/patches/460-truncated_ping_results.patch
@@ -0,0 +1,40 @@
+Index: busybox-1.7.2/networking/ping.c
+===================================================================
+--- busybox-1.7.2.orig/networking/ping.c 2007-09-03 13:48:27.000000000 +0200
++++ busybox-1.7.2/networking/ping.c 2007-10-04 15:38:15.424376713 +0200
+@@ -91,7 +91,7 @@
+ struct sockaddr_in pingaddr;
+ struct icmp *pkt;
+ int pingsock, c;
+- char packet[DEFDATALEN + MAXIPLEN + MAXICMPLEN];
++ char packet[datalen + ICMP_MINLEN + MAXIPLEN + MAXICMPLEN];
+
+ pingsock = create_icmp_socket();
+ pingaddr = lsa->sin;
+@@ -101,7 +101,7 @@
+ pkt->icmp_type = ICMP_ECHO;
+ pkt->icmp_cksum = in_cksum((unsigned short *) pkt, sizeof(packet));
+
+- c = xsendto(pingsock, packet, DEFDATALEN + ICMP_MINLEN,
++ c = xsendto(pingsock, packet, datalen + ICMP_MINLEN,
+ (struct sockaddr *) &pingaddr, sizeof(pingaddr));
+
+ /* listen for replies */
+@@ -135,7 +135,7 @@
+ struct icmp6_hdr *pkt;
+ int pingsock, c;
+ int sockopt;
+- char packet[DEFDATALEN + MAXIPLEN + MAXICMPLEN];
++ char packet[datalen + ICMP_MINLEN + MAXIPLEN + MAXICMPLEN];
+
+ pingsock = create_icmp6_socket();
+ pingaddr = lsa->sin6;
+@@ -147,7 +147,7 @@
+ sockopt = offsetof(struct icmp6_hdr, icmp6_cksum);
+ setsockopt(pingsock, SOL_RAW, IPV6_CHECKSUM, &sockopt, sizeof(sockopt));
+
+- c = xsendto(pingsock, packet, DEFDATALEN + sizeof (struct icmp6_hdr),
++ c = xsendto(pingsock, packet, datalen + sizeof (struct icmp6_hdr),
+ (struct sockaddr *) &pingaddr, sizeof(pingaddr));
+
+ /* listen for replies */