diff --git a/src/http/ngx_http_file_cache.c b/src/http/ngx_http_file_cache.c index a6271a8e9..ca333fc14 100644 --- a/src/http/ngx_http_file_cache.c +++ b/src/http/ngx_http_file_cache.c @@ -767,6 +767,7 @@ ngx_http_file_cache_update(ngx_http_request_t *r, ngx_temp_file_t *tf) ngx_int_t ngx_http_cache_send(ngx_http_request_t *r) { + off_t size; ngx_int_t rc; ngx_buf_t *b; ngx_chain_t out; @@ -795,10 +796,15 @@ ngx_http_cache_send(ngx_http_request_t *r) return rc; } + size = c->length - c->body_start; + if (size == 0) { + return rc; + } + b->file_pos = c->body_start; b->file_last = c->length; - b->in_file = (c->length - c->body_start) ? 1: 0; + b->in_file = size ? 1: 0; b->last_buf = (r == r->main) ? 1: 0; b->last_in_chain = 1;