diff src/http/ngx_http_script.c @ 6948:3fb9b5eb75c0

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.
author Sergey Kandaurov <pluknet@nginx.com>
date Tue, 28 Mar 2017 14:21:38 +0300
parents 39ff6939266e
children 9e25a5380a21
line wrap: on
line diff
--- 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_scrip
     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)