From 188896ea3e5145df921d9708e8546b5778cf7267 Mon Sep 17 00:00:00 2001 From: Robert Nagy Date: Mon, 15 Jul 2019 23:48:44 +0200 Subject: stream: do not emit after 'error' Do not emit 'prefinish' or 'finish' event after an error. PR-URL: https://github.com/nodejs/node/pull/28708 Reviewed-By: Matteo Collina Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca Reviewed-By: James M Snell Reviewed-By: Trivikram Kamat --- lib/_stream_writable.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lib/_stream_writable.js') diff --git a/lib/_stream_writable.js b/lib/_stream_writable.js index 47a9bb208c..c6d4ec4266 100644 --- a/lib/_stream_writable.js +++ b/lib/_stream_writable.js @@ -617,10 +617,11 @@ function callFinal(stream, state) { state.pendingcb--; if (err) { errorOrDestroy(stream, err); + } else { + state.prefinished = true; + stream.emit('prefinish'); + finishMaybe(stream, state); } - state.prefinished = true; - stream.emit('prefinish'); - finishMaybe(stream, state); }); } function prefinish(stream, state) { -- cgit v1.2.3