Subject: Re: ping -f is broken in iputils 20121011

From: Jan Synacek <[email-masked]>
Date: Mon, 05 Nov 2012 10:17:19 +0100

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 [email-masked]
> 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;