# HG changeset patch # User Igor Sysoev # Date 1311083576 0 # Node ID 7cccdc1809a23a422a9a7522c0bafe4150eaf916 # Parent 7890c9617eb59d8879d0cadfc176d556ffd456cf merge r3945: fix segfault if cache key is larger than upstream buffer size patch by Lanshun Zhou diff -r 7890c9617eb5 -r 7cccdc1809a2 src/http/ngx_http_upstream.c --- a/src/http/ngx_http_upstream.c Tue Jul 19 13:49:44 2011 +0000 +++ b/src/http/ngx_http_upstream.c Tue Jul 19 13:52:56 2011 +0000 @@ -666,6 +666,15 @@ ngx_http_file_cache_create_key(r); + if (r->cache->header_start >= u->conf->buffer_size) { + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, + "cache key too large, increase upstream buffer size %uz", + u->conf->buffer_size); + + r->cache = NULL; + return NGX_DECLINED; + } + u->cacheable = 1; c = r->cache;