progress: reset flags at transfer start
authorBen Winslow <rain@bluecherry.net>
Fri, 22 Jul 2011 20:50:58 +0000 (22:50 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 22 Jul 2011 20:50:58 +0000 (22:50 +0200)
When an easy handle is used to download an URI which has no
Content-Length header (or equivalent) after downloading an URI which
does, the value from the previous transfer is reused and returned by
CURLINFO_CONTENT_LENGTH_DOWNLOAD. This is because the progress flags
(used to determine whether such a header was received) are not reset
between transfers.

Bug: http://curl.haxx.se/bug/view.cgi?id=3370895

lib/progress.c

index 8655dc4..9f20a00 100644 (file)
@@ -201,6 +201,7 @@ void Curl_pgrsStartNow(struct SessionHandle *data)
 {
   data->progress.speeder_c = 0; /* reset the progress meter display */
   data->progress.start = Curl_tvnow();
+  data->progress.flags = 0;
 }
 
 void Curl_pgrsSetDownloadCounter(struct SessionHandle *data, curl_off_t size)