From 9ad18e43ac2c9956399018cbb998337943988333 Mon Sep 17 00:00:00 2001 From: Sergey Kandaurov Date: Tue, 28 Mar 2017 14:21:38 +0300 Subject: 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. --- src/http/ngx_http_script.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/http/ngx_http_script.c') diff --git a/src/http/ngx_http_script.c b/src/http/ngx_http_script.c index cc4d67943..96f3ec696 100644 --- a/src/http/ngx_http_script.c +++ b/src/http/ngx_http_script.c @@ -1513,6 +1513,12 @@ ngx_http_script_file_code(ngx_http_script_engine_t *e) if (ngx_open_cached_file(clcf->open_file_cache, &path, &of, r->pool) != NGX_OK) { + if (of.err == 0) { + e->ip = ngx_http_script_exit; + e->status = NGX_HTTP_INTERNAL_SERVER_ERROR; + return; + } + if (of.err != NGX_ENOENT && of.err != NGX_ENOTDIR && of.err != NGX_ENAMETOOLONG) -- cgit