Userid: ngx_http_get_indexed_variable() error handling.

When evaluating a mapped $reset_uid variable in the userid filter,
if get_handler set to ngx_http_map_variable() returned an error,
this previously resulted in a NULL pointer dereference.
This commit is contained in:
Sergey Kandaurov 2017-06-07 18:46:36 +03:00
parent b0de3d7013
commit aa04b091ae

View File

@ -472,6 +472,10 @@ ngx_http_userid_create_uid(ngx_http_request_t *r, ngx_http_userid_ctx_t *ctx,
vv = ngx_http_get_indexed_variable(r, ngx_http_userid_reset_index); vv = ngx_http_get_indexed_variable(r, ngx_http_userid_reset_index);
if (vv == NULL || vv->not_found) {
return NGX_ERROR;
}
if (vv->len == 0 || (vv->len == 1 && vv->data[0] == '0')) { if (vv->len == 0 || (vv->len == 1 && vv->data[0] == '0')) {
if (conf->mark == '\0' if (conf->mark == '\0'