Variables: fixed buffer over-read when evaluating "$arg_".
diff --git a/src/http/ngx_http_variables.c b/src/http/ngx_http_variables.c index e067cf0..c2113c8 100644 --- a/src/http/ngx_http_variables.c +++ b/src/http/ngx_http_variables.c
@@ -1075,7 +1075,7 @@ len = name->len - (sizeof("arg_") - 1); arg = name->data + sizeof("arg_") - 1; - if (ngx_http_arg(r, arg, len, &value) != NGX_OK) { + if (len == 0 || ngx_http_arg(r, arg, len, &value) != NGX_OK) { v->not_found = 1; return NGX_OK; }