]> git.kaiwu.me - nginx.git/commitdiff
Core: strengthen configuration syntax checker.
authorValentin Bartenev <vbart@nginx.com>
Thu, 23 May 2013 16:30:27 +0000 (20:30 +0400)
committerValentin Bartenev <vbart@nginx.com>
Thu, 23 May 2013 16:30:27 +0000 (20:30 +0400)
It is now a syntax error if tokens passed to a custom configuration
handler are terminated by "{".

The following incorrect configuration is now properly rejected:

  map $v $v2 {
      a b {
      c d {
      e f {
  }

src/core/ngx_conf_file.c

index a262672139c9e543a83f270519fb7ffb11961384..0d12ec2cdfaaf3ac44f72db0dde3c513e9a60976 100644 (file)
@@ -225,6 +225,11 @@ ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename)
              * "types { ... }" directive
              */
 
+            if (rc == NGX_CONF_BLOCK_START) {
+                ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "unexpected \"{\"");
+                goto failed;
+            }
+
             rv = (*cf->handler)(cf, NULL, cf->handler_conf);
             if (rv == NGX_CONF_OK) {
                 continue;