diff mbox

ping -f is broken in iputils 20121011

Message ID 5097841F.2050905@redhat.com
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Jan Synacek Nov. 5, 2012, 9:17 a.m. UTC
On 10/31/2012 10:11 AM, Mohammad Alsaleh wrote:
> On Tue, Oct 30, 2012 at 11:52:49PM +0300, Mohammad Alsaleh wrote:
>> As explained in this bug report(1). ping -f seems to be broken in
>> iputils 20121011.
>>
>> (1) https://bugs.archlinux.org/task/32306
> 
> Bisected to commit 8feb586c4c6df32badb159947ed233898891aecd
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

Can you please try the attached patch?

Comments

Mohammad Alsaleh Nov. 5, 2012, 3:37 p.m. UTC | #1
>On 10/31/2012 10:11 AM, Mohammad Alsaleh wrote:
>> On Tue, Oct 30, 2012 at 11:52:49PM +0300, Mohammad Alsaleh wrote:
>>> As explained in this bug report(1). ping -f seems to be broken in
>>> iputils 20121011.
>>>
>>> (1) https://bugs.archlinux.org/task/32306
>> 
>> Bisected to commit 8feb586c4c6df32badb159947ed233898891aecd
>> --
>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> 
>
>Can you please try the attached patch?
>
>-- 
>Jan Synacek
>Software Engineer, BaseOS team Brno, Red Hat
>
>--- iputils-s20121011/ping_common.h	2012-11-05 10:07:40.065281888
>+0100
>+++ iputils-s20121011-new/ping_common.h	2012-11-05 10:07:22.001268362
>+0100
>@@ -141,7 +141,7 @@ static inline void write_stdout(const ch
> 	do {
> 		cc = write(STDOUT_FILENO, str + o, len - o);
> 		o += cc;
>-	} while (len >= o || cc < 0);
>+	} while (len > o || cc < 0);
> }
> 
> /*
>--- iputils-s20121011/ping_common.c	2012-11-05 10:07:40.066281889
>+0100
>+++ iputils-s20121011-new/ping_common.c	2012-11-05 10:07:22.007268368
>+0100
>@@ -776,7 +776,7 @@ restamp:
> 		if (!csfailed)
> 			write_stdout("\b \b", 3);
> 		else
>-			write_stdout("\bC", 1);
>+			write_stdout("\bC", 2);
> 	} else {
> 		int i;
> 		__u8 *cp, *dp;
>

Sorry if this reply does not appear in the right thread. I'm not
subscribed to the list.

I can confirm the patch fixes the bug.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
YOSHIFUJI Hideaki / 吉藤英明 Nov. 5, 2012, 6:12 p.m. UTC | #2
Hi,

Jan Synacek wrote:
> On 10/31/2012 10:11 AM, Mohammad Alsaleh wrote:
>> On Tue, Oct 30, 2012 at 11:52:49PM +0300, Mohammad Alsaleh wrote:
>>> As explained in this bug report(1). ping -f seems to be broken in
>>> iputils 20121011.
>>>
>>> (1) https://bugs.archlinux.org/task/32306
>>
>> Bisected to commit 8feb586c4c6df32badb159947ed233898891aecd
>> --
>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> 
> Can you please try the attached patch?
> 

I applied this patch.  Thank you.
Mohammad, Thank you for spotting this.

--yoshfuji
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- iputils-s20121011/ping_common.h	2012-11-05 10:07:40.065281888 +0100
+++ iputils-s20121011-new/ping_common.h	2012-11-05 10:07:22.001268362 +0100
@@ -141,7 +141,7 @@  static inline void write_stdout(const ch
 	do {
 		cc = write(STDOUT_FILENO, str + o, len - o);
 		o += cc;
-	} while (len >= o || cc < 0);
+	} while (len > o || cc < 0);
 }
 
 /*
--- iputils-s20121011/ping_common.c	2012-11-05 10:07:40.066281889 +0100
+++ iputils-s20121011-new/ping_common.c	2012-11-05 10:07:22.007268368 +0100
@@ -776,7 +776,7 @@  restamp:
 		if (!csfailed)
 			write_stdout("\b \b", 3);
 		else
-			write_stdout("\bC", 1);
+			write_stdout("\bC", 2);
 	} else {
 		int i;
 		__u8 *cp, *dp;