comparison src/http/ngx_http_core_module.c @ 6262:1063097b22b6

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.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 19 Oct 2015 21:28:02 +0300
parents 257b51c37c5a
children ea3ba1ce7014
comparison
equal deleted inserted replaced
6261:97f102a13f33 6262:1063097b22b6
4487 } 4487 }
4488 4488
4489 clcf->alias = alias ? clcf->name.len : 0; 4489 clcf->alias = alias ? clcf->name.len : 0;
4490 clcf->root = value[1]; 4490 clcf->root = value[1];
4491 4491
4492 if (!alias && clcf->root.data[clcf->root.len - 1] == '/') { 4492 if (!alias && clcf->root.len > 0
4493 && clcf->root.data[clcf->root.len - 1] == '/')
4494 {
4493 clcf->root.len--; 4495 clcf->root.len--;
4494 } 4496 }
4495 4497
4496 if (clcf->root.data[0] != '$') { 4498 if (clcf->root.data[0] != '$') {
4497 if (ngx_conf_full_name(cf->cycle, &clcf->root, 0) != NGX_OK) { 4499 if (ngx_conf_full_name(cf->cycle, &clcf->root, 0) != NGX_OK) {