From: Maxim Dounin Date: Thu, 19 Apr 2012 15:48:03 +0000 (+0000) Subject: Fixed segfault with try_files (ticket #152). X-Git-Tag: release-1.2.0~6 X-Git-Url: http://git.kaiwu.me/postgresql/log/contrib/postgres_fdw/static/gitweb.js?a=commitdiff_plain;h=e8fe3ce0981aec98fc74382515765b373f072e07;p=nginx.git Fixed segfault with try_files (ticket #152). The problem occured if first uri in try_files was shorter than request uri, resulting in reserve being 0 and hence allocation skipped. The bug was introduced in r4584 (1.1.19). --- diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c index 5b7f44aa1..42dd6644e 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -1240,7 +1240,7 @@ ngx_http_core_try_files_phase(ngx_http_request_t *r, reserve = len > r->uri.len - alias ? len - (r->uri.len - alias) : 0; } - if (reserve > allocated) { + if (reserve > allocated || !allocated) { /* 16 bytes are preallocation */ allocated = reserve + 16;