Skip to content
Snippets Groups Projects
Commit c331c73e authored by Michal Marek's avatar Michal Marek
Browse files

- Fixed a potential data loss in Curl_client_write() when the transfer is

  paused.
parent d1f063c6
No related branches found
No related tags found
No related merge requests found
......@@ -6,6 +6,10 @@
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)
- Rainer Canavan filed bug #2255627
(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 defines are in sendf.h of course.
......@@ -442,6 +442,9 @@ CURLcode Curl_client_write(struct connectdata *conn,
struct SessionHandle *data = conn->data;
size_t wrote;
if(0 == len)
len = strlen(ptr);
/* 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
can't work and it'll return error instead. */
......@@ -469,9 +472,6 @@ CURLcode Curl_client_write(struct connectdata *conn,
return CURLE_OK;
}
if(0 == len)
len = strlen(ptr);
if(type & CLIENTWRITE_BODY) {
if((conn->protocol&PROT_FTP) && conn->proto.ftpc.transfertype == 'A') {
#ifdef CURL_DOES_CONVERSIONS
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment