]> git.kaiwu.me - nginx.git/commitdiff
Fixed handling of empty root.
authorMaxim Dounin <mdounin@mdounin.ru>
Mon, 19 Oct 2015 18:28:02 +0000 (21:28 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Mon, 19 Oct 2015 18:28:02 +0000 (21:28 +0300)
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.

src/http/ngx_http_core_module.c

index 36f00f61ec98e06eb2a3190f52e6336b4f2b3321..7a2960830a6c78a3de34ab01308098bff42f5199 100644 (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--;
     }