comparison src/http/ngx_http_variables.c @ 7648:028b16e2798f

Variables: fixed buffer over-read when evaluating "$arg_".
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 08 May 2020 19:19:16 +0300
parents 89adf49fe76a
children 6d4f7d5e279f
comparison
equal deleted inserted replaced
7647:716eddd74bc2 7648:028b16e2798f
1073 ngx_str_t value; 1073 ngx_str_t value;
1074 1074
1075 len = name->len - (sizeof("arg_") - 1); 1075 len = name->len - (sizeof("arg_") - 1);
1076 arg = name->data + sizeof("arg_") - 1; 1076 arg = name->data + sizeof("arg_") - 1;
1077 1077
1078 if (ngx_http_arg(r, arg, len, &value) != NGX_OK) { 1078 if (len == 0 || ngx_http_arg(r, arg, len, &value) != NGX_OK) {
1079 v->not_found = 1; 1079 v->not_found = 1;
1080 return NGX_OK; 1080 return NGX_OK;
1081 } 1081 }
1082 1082
1083 v->data = value.data; 1083 v->data = value.data;