diff options
author | Daniel Stenberg <daniel@haxx.se> | 2006-12-21 10:15:38 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2006-12-21 10:15:38 +0000 |
commit | 89ab5f4380b9fd6507e0bc365310d88c82dd3de1 (patch) | |
tree | 21417e0df4f89a559011c30f4d88b2d56057a82e /lib/http.c | |
parent | 439b84c78222706c54a878cbc4238a2580a228b1 (diff) |
Robson Braga Araujo reported bug #1618359
(http://curl.haxx.se/bug/view.cgi?id=1618359) and subsequently provided a
patch for it: when downloading 2 zero byte files in a row, curl 7.16.0
enters an infinite loop, while curl 7.16.1-20061218 does one additional
unnecessary request.
Fix: During the "Major overhaul introducing http pipelining support and
shared connection cache within the multi handle." change, headerbytecount
was moved to live in the Curl_transfer_keeper structure. But that structure
is reset in the Transfer method, losing the information that we had about
the header size. This patch moves it back to the connectdata struct.
Diffstat (limited to 'lib/http.c')
-rw-r--r-- | lib/http.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/http.c b/lib/http.c index 0b537e45e..2f8b98e2e 100644 --- a/lib/http.c +++ b/lib/http.c @@ -1527,8 +1527,8 @@ CURLcode Curl_http_done(struct connectdata *conn, if(!conn->bits.retry && ((http->readbytecount + - k->headerbytecount - - k->deductheadercount)) <= 0) { + conn->headerbytecount - + conn->deductheadercount)) <= 0) { /* If this connection isn't simply closed to be retried, AND nothing was read from the HTTP server (that counts), this can't be right so we return an error here */ |