]> git.kaiwu.me - nginx.git/commitdiff
test space between "~" and regex in server_name and invalid_referers
authorIgor Sysoev <igor@sysoev.ru>
Mon, 14 Sep 2009 09:48:48 +0000 (09:48 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Mon, 14 Sep 2009 09:48:48 +0000 (09:48 +0000)
src/http/modules/ngx_http_referer_module.c
src/http/ngx_http_core_module.c

index 608623f70f0aa717c6171b818c69654e901201ff..8daa399bd5bd8489db88acd420113d1fd9918a4a 100644 (file)
@@ -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) {
index 3abb0ed3f136ad511c41ddf23189cf1091bf9000..9af59b160647d85217cf8cf8daedd89fe6a783b5 100644 (file)
@@ -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;