aboutsummaryrefslogtreecommitdiff
path: root/src/http/modules/ngx_http_log_module.c
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2017-03-28 14:21:38 +0300
committerSergey Kandaurov <pluknet@nginx.com>2017-03-28 14:21:38 +0300
commit9ad18e43ac2c9956399018cbb998337943988333 (patch)
tree5fa775ea2ea833bb65b18714d3eafd3539a784b5 /src/http/modules/ngx_http_log_module.c
parenteb017e75cf1b1d82179935b0e23d0c3451b33a87 (diff)
downloadnginx-9ad18e43ac2c9956399018cbb998337943988333.tar.gz
nginx-9ad18e43ac2c9956399018cbb998337943988333.zip
Fixed ngx_open_cached_file() error handling.
If of.err is 0, it means that there was a memory allocation error and no further logging and/or processing is needed. The of.failed string can be only accessed if of.err is not 0.
Diffstat (limited to 'src/http/modules/ngx_http_log_module.c')
-rw-r--r--src/http/modules/ngx_http_log_module.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/http/modules/ngx_http_log_module.c b/src/http/modules/ngx_http_log_module.c
index 330dc7ecf..917ed55f4 100644
--- a/src/http/modules/ngx_http_log_module.c
+++ b/src/http/modules/ngx_http_log_module.c
@@ -552,6 +552,11 @@ ngx_http_log_script_write(ngx_http_request_t *r, ngx_http_log_script_t *script,
if (ngx_open_cached_file(llcf->open_file_cache, &log, &of, r->pool)
!= NGX_OK)
{
+ if (of.err == 0) {
+ /* simulate successful logging */
+ return len;
+ }
+
ngx_log_error(NGX_LOG_CRIT, r->connection->log, ngx_errno,
"%s \"%s\" failed", of.failed, log.data);
/* simulate successful logging */