Commit 903b6e05 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

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
parent f44b803f
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -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. */
+5 −0
Original line number Diff line number Diff line
@@ -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);