[prev in list] [next in list] [prev in thread] [next in thread]
List: busybox
Subject: [PATCH] ping: broken
From: "Shaun Jackman" <sjackman () gmail ! com>
Date: 2006-05-30 22:31:20
Message-ID: 7f45d9390605301531y4325f5f9g6b3134427f96cf72 () mail ! gmail ! com
[Download RAW message or body]
On 5/30/06, Shaun Jackman <sjackman@gmail.com> wrote:
> Can somebody verify for me that there's something wrong with ping? It
> looks to me as though it transmits 64 bytes, and then checks that 192
> bytes were written, which fails.
>
> Cheers,
> Shaun
A patch fixing this issue follows. Please apply.
Cheers,
Shaun
2006-05-30 Shaun Jackman <sjackman@gmail.com>
* networking/ping.c (ping): Fix a bug by removing a check for
exactly sizeof(packet) bytes being sent. Add some CLEAN_UP code.
#
# old_revision [5b53617107a4e90cf2a550391147640480c5a927]
#
# patch "networking/ping.c"
# from [ace3f454dc97642c4caf4fc7cefefa8dd956c52f]
# to [b2059dd7cc68188d67e4f94bbcabe79e9fead0d5]
#
============================================================
--- networking/ping.c ace3f454dc97642c4caf4fc7cefefa8dd956c52f
+++ networking/ping.c b2059dd7cc68188d67e4f94bbcabe79e9fead0d5
@@ -111,8 +111,10 @@
c = sendto(pingsock, packet, DEFDATALEN + ICMP_MINLEN, 0,
(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");
+ }
signal(SIGALRM, noresp);
alarm(5); /* give the host 5000ms to respond */
@@ -136,6 +138,7 @@
break;
}
}
+ if (ENABLE_FEATURE_CLEAN_UP) close(pingsock);
printf("%s is alive!\n", hostname);
return;
}
["busybox-ping.diff" (text/plain)]
2006-05-30 Shaun Jackman <sjackman@gmail.com>
* networking/ping.c (ping): Fix a bug by removing a check for
exactly sizeof(packet) bytes being sent. Add some CLEAN_UP code.
#
# old_revision [5b53617107a4e90cf2a550391147640480c5a927]
#
# patch "networking/ping.c"
# from [ace3f454dc97642c4caf4fc7cefefa8dd956c52f]
# to [b2059dd7cc68188d67e4f94bbcabe79e9fead0d5]
#
============================================================
--- networking/ping.c ace3f454dc97642c4caf4fc7cefefa8dd956c52f
+++ networking/ping.c b2059dd7cc68188d67e4f94bbcabe79e9fead0d5
@@ -111,8 +111,10 @@
c = sendto(pingsock, packet, DEFDATALEN + ICMP_MINLEN, 0,
(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");
+ }
signal(SIGALRM, noresp);
alarm(5); /* give the host 5000ms to respond */
@@ -136,6 +138,7 @@
break;
}
}
+ if (ENABLE_FEATURE_CLEAN_UP) close(pingsock);
printf("%s is alive!\n", hostname);
return;
}
_______________________________________________
busybox mailing list
busybox@busybox.net
http://busybox.net/cgi-bin/mailman/listinfo/busybox
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic