diff --git a/lib/internal/streams/buffer_list.js b/lib/internal/streams/buffer_list.js index 9dbf6f6769f0f7..36777ed82d4bcb 100644 --- a/lib/internal/streams/buffer_list.js +++ b/lib/internal/streams/buffer_list.js @@ -139,7 +139,10 @@ module.exports = class BufferList { while (p = p.next) { const buf = p.data; const nb = (n > buf.length ? buf.length : n); - buf.copy(ret, ret.length - n, 0, nb); + if (nb === buf.length) + ret.set(buf, ret.length - n); + else + ret.set(new Uint8Array(buf.buffer, buf.byteOffset, nb), ret.length - n); n -= nb; if (n === 0) { if (nb === buf.length) {