From aa28897b22f1e5f6c2345545099bf815232b6a7b Mon Sep 17 00:00:00 2001 From: Maxim Dounin Date: Wed, 30 Apr 2014 19:16:49 +0400 Subject: [PATCH] Core: improved ngx_conf_parse() error handling. Previous code failed to properly restore cf->conf_file in case of ngx_close_file() errors, potentially resulting in double free of cf->conf_file->buffer->start. Found by Coverity (CID 1087507). --- src/core/ngx_conf_file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c index f61bfcabf..d6b5cdf1e 100644 --- a/src/core/ngx_conf_file.c +++ b/src/core/ngx_conf_file.c @@ -266,7 +266,7 @@ done: ngx_log_error(NGX_LOG_ALERT, cf->log, ngx_errno, ngx_close_file_n " %s failed", filename->data); - return NGX_CONF_ERROR; + rc = NGX_ERROR; } cf->conf_file = prev;