- Fixed a potential data loss in Curl_client_write() when the transfer is
paused.
This commit is contained in:
parent
d1f063c62d
commit
c331c73ec6
4
CHANGES
4
CHANGES
@ -6,6 +6,10 @@
|
|||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
|
Michal Marek (13 Nov 2008)
|
||||||
|
- Fixed a potential data loss in Curl_client_write() when the transfer is
|
||||||
|
paused.
|
||||||
|
|
||||||
Daniel Stenberg (11 Nov 2008)
|
Daniel Stenberg (11 Nov 2008)
|
||||||
- Rainer Canavan filed bug #2255627
|
- Rainer Canavan filed bug #2255627
|
||||||
(http://curl.haxx.se/bug/view.cgi?id=2255627) which pointed out that a
|
(http://curl.haxx.se/bug/view.cgi?id=2255627) which pointed out that a
|
||||||
|
@ -425,7 +425,7 @@ static CURLcode pausewrite(struct SessionHandle *data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* client_write() sends data to the write callback(s)
|
/* Curl_client_write() sends data to the write callback(s)
|
||||||
|
|
||||||
The bit pattern defines to what "streams" to write to. Body and/or header.
|
The bit pattern defines to what "streams" to write to. Body and/or header.
|
||||||
The defines are in sendf.h of course.
|
The defines are in sendf.h of course.
|
||||||
@ -442,6 +442,9 @@ CURLcode Curl_client_write(struct connectdata *conn,
|
|||||||
struct SessionHandle *data = conn->data;
|
struct SessionHandle *data = conn->data;
|
||||||
size_t wrote;
|
size_t wrote;
|
||||||
|
|
||||||
|
if(0 == len)
|
||||||
|
len = strlen(ptr);
|
||||||
|
|
||||||
/* If reading is actually paused, we're forced to append this chunk of data
|
/* If reading is actually paused, we're forced to append this chunk of data
|
||||||
to the already held data, but only if it is the same type as otherwise it
|
to the already held data, but only if it is the same type as otherwise it
|
||||||
can't work and it'll return error instead. */
|
can't work and it'll return error instead. */
|
||||||
@ -469,9 +472,6 @@ CURLcode Curl_client_write(struct connectdata *conn,
|
|||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(0 == len)
|
|
||||||
len = strlen(ptr);
|
|
||||||
|
|
||||||
if(type & CLIENTWRITE_BODY) {
|
if(type & CLIENTWRITE_BODY) {
|
||||||
if((conn->protocol&PROT_FTP) && conn->proto.ftpc.transfertype == 'A') {
|
if((conn->protocol&PROT_FTP) && conn->proto.ftpc.transfertype == 'A') {
|
||||||
#ifdef CURL_DOES_CONVERSIONS
|
#ifdef CURL_DOES_CONVERSIONS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user