mirror of
https://github.com/nginx/nginx.git
synced 2025-06-11 04:12:40 +08:00
Gunzip: proper error handling on gunzipping an empty response.
With previous code, an empty (malformed) response resulted in a request finalized without sending anything to a client.
This commit is contained in:
parent
eea2e1262b
commit
45075adccf
@ -500,9 +500,13 @@ ngx_http_gunzip_filter_inflate(ngx_http_request_t *r,
|
|||||||
return NGX_OK;
|
return NGX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rc == Z_STREAM_END && ctx->flush == Z_FINISH
|
if (ctx->flush == Z_FINISH && ctx->zstream.avail_in == 0) {
|
||||||
&& ctx->zstream.avail_in == 0)
|
|
||||||
{
|
if (rc != Z_STREAM_END) {
|
||||||
|
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
|
||||||
|
"inflate() returned %d on response end", rc);
|
||||||
|
return NGX_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
if (ngx_http_gunzip_filter_inflate_end(r, ctx) != NGX_OK) {
|
if (ngx_http_gunzip_filter_inflate_end(r, ctx) != NGX_OK) {
|
||||||
return NGX_ERROR;
|
return NGX_ERROR;
|
||||||
|
Loading…
Reference in New Issue
Block a user