mirror of
https://github.com/nginx/nginx.git
synced 2024-12-03 12:59:07 +08:00
Fixed segfault with try_files introduced by c985d90a8d1f.
If alias was used in a location given by a regular expression, nginx used to do wrong thing in try_files if a location name (i.e., regular expression) was an exact prefix of URI. The following configuration triggered a segmentation fault on a request to "/mail": location ~ /mail { alias /path/to/directory; try_files $uri =404; } Reported by Per Hansson.
This commit is contained in:
parent
b7da4f5962
commit
4fec72dc8c
@ -1239,7 +1239,9 @@ ngx_http_core_try_files_phase(ngx_http_request_t *r,
|
||||
|
||||
*e.pos = '\0';
|
||||
|
||||
if (alias && ngx_strncmp(name, clcf->name.data, alias) == 0) {
|
||||
if (alias && alias != NGX_MAX_SIZE_T_VALUE
|
||||
&& ngx_strncmp(name, clcf->name.data, alias) == 0)
|
||||
{
|
||||
ngx_memmove(name, name + alias, len - alias);
|
||||
path.len -= alias;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user