From d1e95674256636c6810012aa1772eb1440579dd5 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Tue, 15 Sep 2009 15:12:03 +0000 Subject: [PATCH] do not pass buf with empty cached response, this fixes "zero size buf in output" alert --- src/http/ngx_http_file_cache.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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;