diff src/http/ngx_http_core_module.c @ 4600:f1a7633b20a4

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).
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 19 Apr 2012 15:48:03 +0000
parents a1d5842064f7
children 347a54b2cb14
line wrap: on
line diff
--- 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_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;