Bugfix from Shaun Jackman: don't attempt to write 64 bytes and then fail if

the write wasn't 192 bytes long.
This commit is contained in:
Rob Landley 2006-05-31 23:54:50 +00:00
parent d5b9b60fa5
commit 9b1857f79f

View File

@ -110,8 +110,10 @@ static void ping(const char *host)
c = sendto(pingsock, packet, DEFDATALEN + ICMP_MINLEN, 0, c = sendto(pingsock, packet, DEFDATALEN + ICMP_MINLEN, 0,
(struct sockaddr *) &pingaddr, sizeof(struct sockaddr_in)); (struct sockaddr *) &pingaddr, sizeof(struct sockaddr_in));
if (c < 0 || c != sizeof(packet)) if (c < 0) {
if (ENABLE_FEATURE_CLEAN_UP) close(pingsock);
bb_perror_msg_and_die("sendto"); bb_perror_msg_and_die("sendto");
}
signal(SIGALRM, noresp); signal(SIGALRM, noresp);
alarm(5); /* give the host 5000ms to respond */ alarm(5); /* give the host 5000ms to respond */
@ -135,6 +137,7 @@ static void ping(const char *host)
break; break;
} }
} }
if (ENABLE_FEATURE_CLEAN_UP) close(pingsock);
printf("%s is alive!\n", hostname); printf("%s is alive!\n", hostname);
return; return;
} }