diff --git a/lib/_stream_readable.js b/lib/_stream_readable.js index 5600218523b6f9..1de55597123d1b 100644 --- a/lib/_stream_readable.js +++ b/lib/_stream_readable.js @@ -125,8 +125,7 @@ function readableAddChunk(stream, state, chunk, encoding, addToFront) { stream.emit('error', er); } else if (chunk === null) { state.reading = false; - if (!state.ended) - onEofChunk(stream, state); + onEofChunk(stream, state); } else if (state.objectMode || chunk && chunk.length > 0) { if (state.ended && !addToFront) { var e = new Error('stream.push() after EOF'); @@ -372,7 +371,8 @@ function chunkInvalid(state, chunk) { function onEofChunk(stream, state) { - if (state.decoder && !state.ended) { + if (state.ended) return; + if (state.decoder) { var chunk = state.decoder.end(); if (chunk && chunk.length) { state.buffer.push(chunk);