aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-08-13 21:28:46 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-08-13 21:28:46 +0000
commit35110eca737b86c555add7d3fd19dc4111ed8248 (patch)
treec2f66d401685fed492075b2b132959e30a343baf /lib
parent9ad92b300726ca901ce08c5ab73096b89e607dc0 (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.
Diffstat (limited to 'lib')
-rw-r--r--lib/transfer.c2
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