Maxime Villard <m...@m00nbsd.net> writes:

> Is there something wrong with this patch?

Nope, there is something wrong with ftp(1) and how it recovers from the
error.  I'll commit this tomorrow unless someone disagrees.

> Le 29/11/2013 20:44, Maxime Villard a écrit :
>> What about that?
>> 
>> Index: ftp.c
>> ===================================================================
>> RCS file: /cvs/src/usr.bin/ftp/ftp.c,v
>> retrieving revision 1.83
>> diff -u -r1.83 ftp.c
>> --- ftp.c    13 Nov 2013 20:41:14 -0000      1.83
>> +++ ftp.c    29 Nov 2013 21:17:49 -0000
>> @@ -1089,9 +1089,10 @@
>>                      may_send_noop_char();
>>                      d = 0;
>>                      do {
>> -                            wr = write(fileno(fout), buf + d, rd);
>> -                            if (wr == -1 && errno == EPIPE)
>> +                            if ((wr = write(fileno(fout), buf + d, rd)) == 
>> -1) {
>> +                                    d = -1;
>>                                      break;
>> +                            }
>>                              d += wr;
>>                              rd -= wr;
>>                      } while (d < c);
>> 
>> 
>> p is set to -1 to display the proper error message
>
> of course here I meant 'd'
>
>> 
>> 


-- 
jca | PGP: 0x06A11494 / 61DB D9A0 00A4 67CF 2A90  8961 6191 8FBF 06A1 1494

Reply via email to