diff options
author | Daniel Stenberg <daniel@haxx.se> | 2005-08-13 21:28:46 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2005-08-13 21:28:46 +0000 |
commit | 35110eca737b86c555add7d3fd19dc4111ed8248 (patch) | |
tree | c2f66d401685fed492075b2b132959e30a343baf | |
parent | 9ad92b300726ca901ce08c5ab73096b89e607dc0 (diff) |
James Bursa identified a libcurl HTTP bug and a good way to repeat it. If a
site responds with bad HTTP response that doesn't contain any header at all,
only a response body, and the write callback returns 0 to abort the
transfer, it didn't have any real effect but the write callback would be
called once more anyway.
-rw-r--r-- | lib/transfer.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/transfer.c b/lib/transfer.c index a2cd39179..544ac8560 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -1134,6 +1134,8 @@ CURLcode Curl_readwrite(struct connectdata *conn, result = Curl_client_write(data, CLIENTWRITE_BODY, data->state.headerbuff, k->hbuflen); + if(result) + return result; } if(k->badheader < HEADER_ALLBAD) { /* This switch handles various content encodings. If there's an |