chunked-encoding with Content-Length: header problem
authorDaniel Stenberg <daniel@haxx.se>
Tue, 23 Mar 2010 14:26:45 +0000 (15:26 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 23 Mar 2010 14:26:45 +0000 (15:26 +0100)
Akos Pasztory filed debian bug report #572276
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572276
mentioning a problem with a resource that returns chunked-encoded
_and_ with a Content-Length and libcurl failed to properly ignore
the latter information.

CHANGES
RELEASE-NOTES
lib/http.c

diff --git a/CHANGES b/CHANGES
index 174fbc6..5fe6337 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,11 @@
                                   Changelog
 
 Daniel Stenberg (23 Mar 2010)
+- Akos Pasztory filed debian bug report #572276
+  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572276 mentioning a problem
+  with a resource that returns chunked-encoded _and_ with a Content-Length
+  and libcurl failed to properly ignore the latter information.
+
 - Hauke Duden provided an example program that made the multi interface crash.
   His example simply used the multi interface and did first one FTP transfer
   and after completion it used a second easy handle and did another FTP
index 6d0b796..c682b9c 100644 (file)
@@ -37,6 +37,7 @@ This release includes the following bugfixes:
  o SSL possible double free when reusing curl handle
  o alarm()-based DNS timeout bug
  o re-used FTP connection multi interface crash
+ o chunked-encoding with Content-Length: header problem
 
 This release includes the following known bugs:
 
@@ -48,6 +49,7 @@ advice from friends like these:
  Steven M. Schweda, Yang Tse, Jack Zhang, Tom Donovan, Martin Hager,
  Daniel Fandrich, Patrick Monnerat, Pat Ray, Wesley Miaw, Ben Greear,
  Ryan Chan, Markus Duft, Andrei Benea, Jacob Moshenko, Daniel Johnson,
- Constantine Sapuntzakis, Douglas Steinwand, Thomas Lopatic, Hauke Duden
+ Constantine Sapuntzakis, Douglas Steinwand, Thomas Lopatic, Hauke Duden,
+ Akos Pasztory
 
         Thanks! (and sorry if I forgot to mention someone)
index b6c0139..d4b99fd 100644 (file)
@@ -3338,8 +3338,7 @@ CURLcode Curl_http_readwrite_headers(struct SessionHandle *data,
              using chunked Transfer-Encoding.
           */
           if(k->chunk)
-            k->size=-1;
-
+            k->maxdownload = k->size = -1;
         }
         if(-1 != k->size) {
           /* We do this operation even if no_body is true, since this