1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-07-19 19:10:59 +03:00
openwrt-xburst/package/busybox/patches/460-truncated_ping_results.patch
kaloz ac2d02c3e0 upgrade busybox to v1.11.1 and add current upstream fixes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12348 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-08-20 14:00:34 +00:00

39 lines
1.2 KiB
Diff

--- a/networking/ping.c
+++ b/networking/ping.c
@@ -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->u.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->u.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 */