diff options
author | Igor Sysoev <igor@sysoev.ru> | 2009-09-14 13:48:48 +0400 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2009-09-14 13:48:48 +0400 |
commit | be9d1650644e54e10ef36d6160b8149128929147 (patch) | |
tree | 9bf2f3a38ba756fb31740ab132d1013185e10136 | |
parent | 97aa4c86a1e6b70f3d48bc9ddad921cbee7ceea5 (diff) |
test space between "~" and regex in server_name and invalid_referers
-rw-r--r-- | src/http/modules/ngx_http_referer_module.c | 5 | ||||
-rw-r--r-- | src/http/ngx_http_core_module.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/http/modules/ngx_http_referer_module.c b/src/http/modules/ngx_http_referer_module.c index 608623f70..8daa399bd 100644 --- a/src/http/modules/ngx_http_referer_module.c +++ b/src/http/modules/ngx_http_referer_module.c @@ -506,6 +506,11 @@ ngx_http_add_regex_referer(ngx_conf_t *cf, ngx_http_referer_conf_t *rlcf, ngx_regex_elt_t *re; u_char errstr[NGX_MAX_CONF_ERRSTR]; + if (name->len == 1) { + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "empty regex in \"%V\"", name); + return NGX_CONF_ERROR; + } + if (rlcf->regex == NGX_CONF_UNSET_PTR) { rlcf->regex = ngx_array_create(cf->pool, 2, sizeof(ngx_regex_elt_t)); if (rlcf->regex == NULL) { diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c index 3abb0ed3f..9af59b160 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -3551,6 +3551,12 @@ ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) ngx_str_t err; u_char errstr[NGX_MAX_CONF_ERRSTR]; + if (value[i].len == 1) { + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "empty regex in server name \"%V\"", &value[i]); + return NGX_CONF_ERROR; + } + err.len = NGX_MAX_CONF_ERRSTR; err.data = errstr; |