diff --git a/lib/internal/stream_base_commons.js b/lib/internal/stream_base_commons.js index fdf540a47e08ae..cef87c4cfdf1a8 100644 --- a/lib/internal/stream_base_commons.js +++ b/lib/internal/stream_base_commons.js @@ -208,7 +208,9 @@ function onStreamRead(arrayBuffer) { } if (nread !== UV_EOF) { - return stream.destroy(errnoException(nread, 'read')); + // #34375 CallJSOnreadMethod expects the return value to be a buffer. + stream.destroy(errnoException(nread, 'read')); + return; } // Defer this until we actually emit end @@ -225,8 +227,11 @@ function onStreamRead(arrayBuffer) { // test-https-truncate test. if (handle.readStop) { const err = handle.readStop(); - if (err) - return stream.destroy(errnoException(err, 'read')); + if (err) { + // #34375 CallJSOnreadMethod expects the return value to be a buffer. + stream.destroy(errnoException(err, 'read')); + return; + } } // Push a null to signal the end of data.