From 155ea88184d7e4c456b38c50cb057fcbc65103f6 Mon Sep 17 00:00:00 2001 From: Patrick Monnerat Date: Mon, 12 Feb 2018 03:38:18 +0100 Subject: http_chunks: don't write chunks twice with CURLOPT_HTTP_TRANSFER_DECODING on Bug: #2303 Reported-By: Henry Roeland --- lib/http_chunks.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/http_chunks.c b/lib/http_chunks.c index 2d9999f18..8368eeca6 100644 --- a/lib/http_chunks.c +++ b/lib/http_chunks.c @@ -178,15 +178,15 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn, piece = curlx_sotouz((ch->datasize >= length)?length:ch->datasize); /* Write the data portion available */ - if(conn->data->set.http_ce_skip || !k->writer_stack) { - if(!k->ignorebody) + if(!conn->data->set.http_te_skip && !k->ignorebody) { + if(!conn->data->set.http_ce_skip && k->writer_stack) + result = Curl_unencode_write(conn, k->writer_stack, datap, piece); + else result = Curl_client_write(conn, CLIENTWRITE_BODY, datap, piece); - } - else - result = Curl_unencode_write(conn, k->writer_stack, datap, piece); - if(result) - return CHUNKE_WRITE_ERROR; + if(result) + return CHUNKE_WRITE_ERROR; + } *wrote += piece; ch->datasize -= piece; /* decrease amount left to expect */ -- cgit v1.2.3