Fixed handling of empty root.

Previously, a configuration with "root" set to an empty string tried test
a character at clcf->root.data[-1].  Additional test added to make sure
this won't happen.

Reported by Markus Linnala, see
http://mailman.nginx.org/pipermail/nginx-devel/2015-August/007210.html.
This commit is contained in:
Maxim Dounin 2015-10-19 21:28:02 +03:00
parent e80d9b9bf7
commit 81247e6203
1 changed files with 3 additions and 1 deletions

View File

@ -4489,7 +4489,9 @@ ngx_http_core_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
clcf->alias = alias ? clcf->name.len : 0;
clcf->root = value[1];
if (!alias && clcf->root.data[clcf->root.len - 1] == '/') {
if (!alias && clcf->root.len > 0
&& clcf->root.data[clcf->root.len - 1] == '/')
{
clcf->root.len--;
}