Skip to content

Commit

Permalink
pretransfer: init state.infilesize here, not in add_handle
Browse files Browse the repository at this point in the history
... 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
  • Loading branch information
bagder committed Jun 24, 2015
1 parent f44b803 commit 903b6e0
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
5 changes: 0 additions & 5 deletions lib/multi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand Down
5 changes: 5 additions & 0 deletions lib/transfer.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 903b6e0

Please sign in to comment.