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).
This commit is contained in:
Maxim Dounin 2014-04-30 19:16:49 +04:00
parent 60169aa3a1
commit aa28897b22

View File

@ -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;