[nginx] Core: fixed default log initialization.
Homutov Vladimir
vl at nginx.com
Thu Jul 24 12:27:22 UTC 2014
details: http://hg.nginx.org/nginx/rev/c3b08217f2a2
branches:
changeset: 5771:c3b08217f2a2
user: Vladimir Homutov <vl at nginx.com>
date: Thu Jul 24 16:25:07 2014 +0400
description:
Core: fixed default log initialization.
The ngx_log_insert() function may invalidate pointer passed to it,
so make sure to don't use it after the ngx_log_insert() call.
diffstat:
src/core/ngx_log.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diffs (30 lines):
diff -r 9de5820bb3e0 -r c3b08217f2a2 src/core/ngx_log.c
--- a/src/core/ngx_log.c Fri Jul 18 20:11:40 2014 +0400
+++ b/src/core/ngx_log.c Thu Jul 24 16:25:07 2014 +0400
@@ -387,20 +387,22 @@ ngx_log_open_default(ngx_cycle_t *cycle)
return NGX_ERROR;
}
- log->log_level = NGX_LOG_ERR;
- ngx_log_insert(&cycle->new_log, log);
-
} else {
/* no error logs at all */
log = &cycle->new_log;
- log->log_level = NGX_LOG_ERR;
}
+ log->log_level = NGX_LOG_ERR;
+
log->file = ngx_conf_open_file(cycle, &error_log);
if (log->file == NULL) {
return NGX_ERROR;
}
+ if (log != &cycle->new_log) {
+ ngx_log_insert(&cycle->new_log, log);
+ }
+
return NGX_OK;
}
More information about the nginx-devel
mailing list