aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2008-03-03 17:12:05 +0000
committerIgor Sysoev <igor@sysoev.ru>2008-03-03 17:12:05 +0000
commit85d6a3e3dbe3ecfb3ae1dce05ec2bfde8bca0f4b (patch)
treeace528f4e56549c0730e56c1bcda098671133371
parent5461caf92077c1b0ade1b869c21fafbdbaba7dd8 (diff)
downloadnginx-85d6a3e3dbe3ecfb3ae1dce05ec2bfde8bca0f4b.tar.gz
nginx-85d6a3e3dbe3ecfb3ae1dce05ec2bfde8bca0f4b.zip
included file name must be allocated in pool,
because it may be used in error message later
-rw-r--r--src/core/ngx_conf_file.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c
index f00cf019b..54769fbe0 100644
--- a/src/core/ngx_conf_file.c
+++ b/src/core/ngx_conf_file.c
@@ -633,7 +633,7 @@ ngx_conf_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
{
char *rv;
ngx_int_t n;
- ngx_str_t *value, file;
+ ngx_str_t *value, file, name;
ngx_glob_t gl;
value = cf->args->elts;
@@ -659,12 +659,15 @@ ngx_conf_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
rv = NGX_CONF_OK;
for ( ;; ) {
- n = ngx_read_glob(&gl, &file);
+ n = ngx_read_glob(&gl, &name);
if (n != NGX_OK) {
break;
}
+ file.len = name.len++;
+ file.data = ngx_pstrdup(cf->pool, &name);
+
ngx_log_debug1(NGX_LOG_DEBUG_CORE, cf->log, 0, "include %s", file.data);
rv = ngx_conf_parse(cf, &file);