From 87b8f8e194130815382a2a4af994dad760cf569f Mon Sep 17 00:00:00 2001 From: Simon Detheridge Date: Mon, 30 Mar 2020 17:13:40 +0100 Subject: [PATCH] Destroy file-download stream on error --- services/filestore/app/js/FileController.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/services/filestore/app/js/FileController.js b/services/filestore/app/js/FileController.js index e39afd67bb..748026f76c 100644 --- a/services/filestore/app/js/FileController.js +++ b/services/filestore/app/js/FileController.js @@ -61,15 +61,18 @@ function getFile(req, res, next) { } pipeline(fileStream, res, err => { - if (err && err.code === 'ERR_STREAM_PREMATURE_CLOSE') { - res.end() - } else if (err) { - next( - new Errors.ReadError({ - message: 'error transferring stream', - info: { bucket, key, format, style } - }).withCause(err) - ) + if (err) { + fileStream.destroy() + if (err.code === 'ERR_STREAM_PREMATURE_CLOSE') { + res.end() + } else { + next( + new Errors.ReadError({ + message: 'error transferring stream', + info: { bucket, key, format, style } + }).withCause(err) + ) + } } }) })