aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--networking/ping.c4
-rw-r--r--networking/ping6.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/networking/ping.c b/networking/ping.c
index d33cb358f..7fe52ab39 100644
--- a/networking/ping.c
+++ b/networking/ping.c
@@ -108,7 +108,7 @@ static void ping(const char *host)
pkt->icmp_type = ICMP_ECHO;
pkt->icmp_cksum = in_cksum((unsigned short *) pkt, sizeof(packet));
- c = sendto(pingsock, packet, sizeof(packet), 0,
+ c = sendto(pingsock, packet, DEFDATALEN + ICMP_MINLEN, 0,
(struct sockaddr *) &pingaddr, sizeof(struct sockaddr_in));
if (c < 0 || c != sizeof(packet))
@@ -202,7 +202,7 @@ static void sendping(int junk)
{
struct icmp *pkt;
int i;
- char packet[datalen + sizeof(struct icmp)];
+ char packet[datalen + ICMP_MINLEN];
pkt = (struct icmp *) packet;
diff --git a/networking/ping6.c b/networking/ping6.c
index 4e55081fb..3f632e060 100644
--- a/networking/ping6.c
+++ b/networking/ping6.c
@@ -111,7 +111,7 @@ static void ping(const char *host)
setsockopt(pingsock, SOL_RAW, IPV6_CHECKSUM, (char *) &sockopt,
sizeof(sockopt));
- c = sendto(pingsock, packet, sizeof(packet), 0,
+ c = sendto(pingsock, packet, DEFDATALEN + sizeof (struct icmp6_hdr), 0,
(struct sockaddr *) &pingaddr, sizeof(struct sockaddr_in6));
if (c < 0 || c != sizeof(packet))
@@ -204,7 +204,7 @@ static void sendping(int junk)
{
struct icmp6_hdr *pkt;
int i;
- char packet[datalen + 8];
+ char packet[datalen + sizeof (struct icmp6_hdr)];
pkt = (struct icmp6_hdr *) packet;