summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2020-12-11 13:42:07 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2020-12-11 13:42:07 +0300
commitb138e263959778bb4ba73243106d2c5f98a2c927 (patch)
tree7fc631c0e8f3f1bf865386db59e1be10498ad055
parent2e94c81b0bf1d8e695d9afd074c79520aa03081a (diff)
downloadnginx-b138e263959778bb4ba73243106d2c5f98a2c927.tar.gz
nginx-b138e263959778bb4ba73243106d2c5f98a2c927.tar.bz2
Fixed double close of non-regular files in flv and mp4.
With introduction of open_file_cache in 1454:f497ed7682a7, opening a file with ngx_open_cached_file() automatically adds a cleanup handler to close the file. As such, calling ngx_close_file() directly for non-regular files is no longer needed and will result in duplicate close() call. In 1454:f497ed7682a7 ngx_close_file() call for non-regular files was removed in the static module, but wasn't in the flv module. And the resulting incorrect code was later copied to the mp4 module. Fix is to remove the ngx_close_file() call from both modules. Reported by Chris Newton.
-rw-r--r--src/http/modules/ngx_http_flv_module.c6
-rw-r--r--src/http/modules/ngx_http_mp4_module.c6
2 files changed, 0 insertions, 12 deletions
diff --git a/src/http/modules/ngx_http_flv_module.c b/src/http/modules/ngx_http_flv_module.c
index 7b72fae03..cc06d538a 100644
--- a/src/http/modules/ngx_http_flv_module.c
+++ b/src/http/modules/ngx_http_flv_module.c
@@ -156,12 +156,6 @@ ngx_http_flv_handler(ngx_http_request_t *r)
}
if (!of.is_file) {
-
- if (ngx_close_file(of.fd) == NGX_FILE_ERROR) {
- ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
- ngx_close_file_n " \"%s\" failed", path.data);
- }
-
return NGX_DECLINED;
}
diff --git a/src/http/modules/ngx_http_mp4_module.c b/src/http/modules/ngx_http_mp4_module.c
index c1006abbb..0e93fbd09 100644
--- a/src/http/modules/ngx_http_mp4_module.c
+++ b/src/http/modules/ngx_http_mp4_module.c
@@ -521,12 +521,6 @@ ngx_http_mp4_handler(ngx_http_request_t *r)
}
if (!of.is_file) {
-
- if (ngx_close_file(of.fd) == NGX_FILE_ERROR) {
- ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
- ngx_close_file_n " \"%s\" failed", path.data);
- }
-
return NGX_DECLINED;
}