From: Roman Arutyunyan Date: Thu, 21 Jul 2016 08:39:00 +0000 (+0300) Subject: Fixed closing file descriptor on error. X-Git-Tag: 0.1.0~5 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=8048313eeea8e6ac38d2e5ce1ea3075911b57b0f;p=njs.git Fixed closing file descriptor on error. Found by Coverity (CID 1364196, 1364197, 1364198, 1364199). --- diff --git a/nginx/ngx_http_js_module.c b/nginx/ngx_http_js_module.c index 47ac83d9..f8ad1f27 100644 --- a/nginx/ngx_http_js_module.c +++ b/nginx/ngx_http_js_module.c @@ -1249,6 +1249,7 @@ ngx_http_js_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) if (ngx_fd_info(fd, &fi) == NGX_FILE_ERROR) { ngx_log_error(NGX_LOG_EMERG, cf->log, ngx_errno, ngx_fd_info_n " \"%s\" failed", file.data); + (void) ngx_close_file(fd); return NGX_CONF_ERROR; } @@ -1256,6 +1257,7 @@ ngx_http_js_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) start = ngx_pnalloc(cf->pool, size); if (start == NULL) { + (void) ngx_close_file(fd); return NGX_CONF_ERROR; } @@ -1265,7 +1267,7 @@ ngx_http_js_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) ngx_log_error(NGX_LOG_ALERT, cf->log, ngx_errno, ngx_read_fd_n " \"%s\" failed", file.data); - ngx_close_file(fd); + (void) ngx_close_file(fd); return NGX_CONF_ERROR; } @@ -1274,7 +1276,7 @@ ngx_http_js_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) ngx_read_fd_n " has read only %z of %O from \"%s\"", n, size, file.data); - ngx_close_file(fd); + (void) ngx_close_file(fd); return NGX_CONF_ERROR; } diff --git a/nginx/ngx_stream_js_module.c b/nginx/ngx_stream_js_module.c index 62273ce0..53dfed26 100644 --- a/nginx/ngx_stream_js_module.c +++ b/nginx/ngx_stream_js_module.c @@ -456,6 +456,7 @@ ngx_stream_js_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) if (ngx_fd_info(fd, &fi) == NGX_FILE_ERROR) { ngx_log_error(NGX_LOG_EMERG, cf->log, ngx_errno, ngx_fd_info_n " \"%s\" failed", file.data); + (void) ngx_close_file(fd); return NGX_CONF_ERROR; } @@ -463,6 +464,7 @@ ngx_stream_js_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) start = ngx_pnalloc(cf->pool, size); if (start == NULL) { + (void) ngx_close_file(fd); return NGX_CONF_ERROR; } @@ -472,16 +474,16 @@ ngx_stream_js_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) ngx_log_error(NGX_LOG_ALERT, cf->log, ngx_errno, ngx_read_fd_n " \"%s\" failed", file.data); - ngx_close_file(fd); + (void) ngx_close_file(fd); return NGX_CONF_ERROR; } if ((size_t) n != size) { ngx_log_error(NGX_LOG_ALERT, cf->log, 0, - ngx_read_fd_n " has read only %z of %O from \"%s\"", + ngx_read_fd_n " has read only %z of %uz from \"%s\"", n, size, file.data); - ngx_close_file(fd); + (void) ngx_close_file(fd); return NGX_CONF_ERROR; }