- Fixed the problem with doing a zero byte SCP transfer, verified with test
case 617 (which was added by Daniel Fandrich 5 Mar 2008).
This commit is contained in:
parent
98c9a5b7f6
commit
95bd901efe
4
CHANGES
4
CHANGES
@ -6,6 +6,10 @@
|
||||
|
||||
Changelog
|
||||
|
||||
Daniel Stenberg (22 Mar 2008)
|
||||
- Fixed the problem with doing a zero byte SCP transfer, verified with test
|
||||
case 617 (which was added by Daniel Fandrich 5 Mar 2008).
|
||||
|
||||
Daniel Fandrich (20 Mar 2008)
|
||||
- Fixed a problem where curl-config --protocols could erroneously show LDAPS
|
||||
support when curl didn't even have regular LDAP support. It looks like
|
||||
|
@ -50,6 +50,7 @@ This release includes the following bugfixes:
|
||||
o SFTP upload with CURLOPT_FTP_CREATE_MISSING_DIRS on re-used connection
|
||||
o SFTP infinite loop when given an invalid quote command
|
||||
o curl-config erroneously reported LDAPS support with missing LDAP libraries
|
||||
o SCP infinite loop when downloading a zero byte file
|
||||
|
||||
This release includes the following known bugs:
|
||||
|
||||
|
@ -3,8 +3,6 @@ To be addressed before 7.18.1 (planned release: April 2008)
|
||||
|
||||
[feature freeze entered, no new features!]
|
||||
|
||||
126 - scp download 0 bytes, test case 617
|
||||
|
||||
127 - Dan Petitt's Progress During Large Posts problem
|
||||
|
||||
128 - Phil Blundell's ares and ipv6 fix
|
||||
|
@ -397,18 +397,26 @@ CURLcode Curl_readwrite(struct connectdata *conn,
|
||||
bytestoread = (size_t)totalleft;
|
||||
}
|
||||
|
||||
/* receive data from the network! */
|
||||
readrc = Curl_read(conn, conn->sockfd, k->buf, bytestoread, &nread);
|
||||
if(bytestoread) {
|
||||
/* receive data from the network! */
|
||||
readrc = Curl_read(conn, conn->sockfd, k->buf, bytestoread, &nread);
|
||||
|
||||
/* subzero, this would've blocked */
|
||||
if(0 > readrc)
|
||||
break; /* get out of loop */
|
||||
/* subzero, this would've blocked */
|
||||
if(0 > readrc)
|
||||
break; /* get out of loop */
|
||||
|
||||
/* get the CURLcode from the int */
|
||||
result = (CURLcode)readrc;
|
||||
/* get the CURLcode from the int */
|
||||
result = (CURLcode)readrc;
|
||||
|
||||
if(result>0)
|
||||
return result;
|
||||
if(result>0)
|
||||
return result;
|
||||
}
|
||||
else {
|
||||
/* read nothing but since we wanted nothing we consider this an OK
|
||||
situation to proceed from */
|
||||
nread = 0;
|
||||
result = CURLE_OK;
|
||||
}
|
||||
|
||||
if((k->bytecount == 0) && (k->writebytecount == 0)) {
|
||||
Curl_pgrsTime(data, TIMER_STARTTRANSFER);
|
||||
|
@ -3,4 +3,4 @@
|
||||
# test cases are run by runtests.pl. Just add the plain test case numbers, one
|
||||
# per line.
|
||||
# Lines starting with '#' letters are treated as comments.
|
||||
617
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user