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).
This commit is contained in:
Maxim Dounin 2012-04-19 15:48:03 +00:00
parent a73ce28e0a
commit e8fe3ce098

View File

@ -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;