diff options
author | Daniel Stenberg <daniel@haxx.se> | 2019-10-01 15:40:05 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2019-10-01 15:40:05 +0200 |
commit | 766a63a876f8bd0a630f8a2a1296c7df5985f524 (patch) | |
tree | 1e1111ca08ef600884f12ef3e1ca69f75ba29ea8 /lib/http_proxy.c | |
parent | ac830139dadf4abd48232e3eb5ce0c8d06d19dcf (diff) | |
download | curl-766a63a876f8bd0a630f8a2a1296c7df5985f524.tar.gz |
chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error
Unknown content-encoding would get returned as CURLE_WRITE_ERROR if the
response is chunked-encoded.
Reported-by: Ilya Kosarev
Fixes #4310
Diffstat (limited to 'lib/http_proxy.c')
-rw-r--r-- | lib/http_proxy.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/http_proxy.c b/lib/http_proxy.c index 710101774..f095455a5 100644 --- a/lib/http_proxy.c +++ b/lib/http_proxy.c @@ -384,11 +384,12 @@ static CURLcode CONNECT(struct connectdata *conn, /* chunked-encoded body, so we need to do the chunked dance properly to know when the end of the body is reached */ CHUNKcode r; + CURLcode extra; ssize_t tookcareof = 0; /* now parse the chunked piece of data so that we can properly tell when the stream ends */ - r = Curl_httpchunk_read(conn, s->ptr, 1, &tookcareof); + r = Curl_httpchunk_read(conn, s->ptr, 1, &tookcareof, &extra); if(r == CHUNKE_STOP) { /* we're done reading chunks! */ infof(data, "chunk reading DONE\n"); @@ -455,6 +456,7 @@ static CURLcode CONNECT(struct connectdata *conn, } else if(s->chunked_encoding) { CHUNKcode r; + CURLcode extra; infof(data, "Ignore chunked response-body\n"); @@ -472,7 +474,8 @@ static CURLcode CONNECT(struct connectdata *conn, /* now parse the chunked piece of data so that we can properly tell when the stream ends */ - r = Curl_httpchunk_read(conn, s->line_start + 1, 1, &gotbytes); + r = Curl_httpchunk_read(conn, s->line_start + 1, 1, &gotbytes, + &extra); if(r == CHUNKE_STOP) { /* we're done reading chunks! */ infof(data, "chunk reading DONE\n"); |