[nginx] Fixed handling of empty root.

Maxim Dounin mdounin at mdounin.ru
Mon Oct 19 19:27:38 UTC 2015


details:   http://hg.nginx.org/nginx/rev/1063097b22b6
branches:  
changeset: 6262:1063097b22b6
user:      Maxim Dounin <mdounin at mdounin.ru>
date:      Mon Oct 19 21:28:02 2015 +0300
description:
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.

diffstat:

 src/http/ngx_http_core_module.c |  4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diffs (14 lines):

diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -4489,7 +4489,9 @@ ngx_http_core_root(ngx_conf_t *cf, ngx_c
     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--;
     }
 



More information about the nginx-devel mailing list