diff options
author | Daniel Stenberg <daniel@haxx.se> | 2015-06-23 17:48:37 -0700 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2015-06-23 17:48:37 -0700 |
commit | 903b6e05565bf826b4194447864288642214b094 (patch) | |
tree | 4ecd4e3e052c83f66565750e8e8d2ad08d36ccd0 | |
parent | f44b803f1605edcfc4058b1a818c44552f0affec (diff) |
pretransfer: init state.infilesize here, not in add_handle
... to properly support that options are set to the handle after it is
added to the multi handle.
Bug: http://curl.haxx.se/mail/lib-2015-06/0122.html
Reported-by: Stefan Bühler
-rw-r--r-- | lib/multi.c | 5 | ||||
-rw-r--r-- | lib/transfer.c | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/multi.c b/lib/multi.c index b63f8bf70..a8d3e38b5 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -402,11 +402,6 @@ CURLMcode curl_multi_add_handle(CURLM *multi_handle, /* Point to the multi's connection cache */ data->state.conn_cache = &multi->conn_cache; - if(data->set.httpreq == HTTPREQ_PUT) - data->state.infilesize = data->set.filesize; - else - data->state.infilesize = data->set.postfieldsize; - /* This adds the new entry at the 'end' of the doubly-linked circular list of SessionHandle structs to try and maintain a FIFO queue so the pipelined requests are in order. */ diff --git a/lib/transfer.c b/lib/transfer.c index 28cc61ecc..32e8702e6 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -1315,6 +1315,11 @@ CURLcode Curl_pretransfer(struct SessionHandle *data) Curl_safefree(data->info.wouldredirect); data->info.wouldredirect = NULL; + if(data->set.httpreq == HTTPREQ_PUT) + data->state.infilesize = data->set.filesize; + else + data->state.infilesize = data->set.postfieldsize; + /* If there is a list of cookie files to read, do it now! */ if(data->change.cookielist) Curl_cookie_loadfiles(data); |