nginx-0.3.18-RELEASE import

    *) Feature: the "server_names" directive supports the ".domain.tld"
       names.

    *) Feature: the "server_names" directive uses the hash for the
       "*.domain.tld" names and more effective hash for usual names.

    *) Change: the "server_names_hash_max_size" and
       "server_names_hash_bucket_size" directives.

    *) Change: the "server_names_hash" and "server_names_hash_threshold"
       directives were canceled.

    *) Feature: the "valid_referers" directive uses the hash site names.

    *) Change: now the "valid_referers" directive checks the site names
       only without the URI part.

    *) Bugfix: some ".domain.tld" names incorrectly processed by the
       ngx_http_map_module.

    *) Bugfix: segmentation fault was occurred if configuration file did
       not exist; the bug had appeared in 0.3.12.

    *) Bugfix: on 64-bit platforms segmentation fault may occurred on
       start; the bug had appeared in 0.3.16.
diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c
index 377cad5..589eb0e 100644
--- a/src/core/ngx_conf_file.c
+++ b/src/core/ngx_conf_file.c
@@ -78,7 +78,8 @@
         fd = ngx_open_file(filename->data, NGX_FILE_RDONLY, NGX_FILE_OPEN);
         if (fd == NGX_INVALID_FILE) {
             ngx_conf_log_error(NGX_LOG_EMERG, cf, ngx_errno,
-                              ngx_open_file_n " \"%s\" failed", filename->data);
+                               ngx_open_file_n " \"%s\" failed",
+                               filename->data);
             return NGX_CONF_ERROR;
         }
 
@@ -811,6 +812,11 @@
         *buf = '\0';
     }
 
+    if (cf->conf_file == NULL) {
+        ngx_log_error(level, cf->log, 0, "%s", errstr);
+        return;
+    }
+
     ngx_log_error(level, cf->log, 0, "%s in %s:%ui",
                   errstr, cf->conf_file->file.name.data, cf->conf_file->line);
 }