From: Rob Landley Date: Wed, 11 Jan 2006 03:44:11 +0000 (-0000) Subject: Ok, ping needs a rewrite from the ground up. (This is not a busybox app.) X-Git-Tag: 1_1_0~357 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=bbf4e167f2caa248ba0eaa05b89d02b8d8f9e4ae;p=oweals%2Fbusybox.git Ok, ping needs a rewrite from the ground up. (This is not a busybox app.) Fix bug 309, where ping -s 1 localhost would give an elapsed time 9 digits long due to a stack overflow. Apparently, iputils also does this. --- diff --git a/networking/ping.c b/networking/ping.c index 646f4ac37..ed52abf04 100644 --- a/networking/ping.c +++ b/networking/ping.c @@ -200,7 +200,7 @@ static void sendping(int junk) { struct icmp *pkt; int i; - char packet[datalen + 8]; + char packet[datalen + sizeof(struct icmp)]; pkt = (struct icmp *) packet; @@ -211,7 +211,7 @@ static void sendping(int junk) pkt->icmp_id = myid; CLR(ntohs(pkt->icmp_seq) % MAX_DUP_CHK); - gettimeofday((struct timeval *) &packet[8], NULL); + gettimeofday((struct timeval *) &pkt->icmp_dun, NULL); pkt->icmp_cksum = in_cksum((unsigned short *) pkt, sizeof(packet)); i = sendto(pingsock, packet, sizeof(packet), 0,