diff --git a/lib/internal/child_process/serialization.js b/lib/internal/child_process/serialization.js index df8a6ca67236c5..51c8efc1f21f45 100644 --- a/lib/internal/child_process/serialization.js +++ b/lib/internal/child_process/serialization.js @@ -3,7 +3,9 @@ const { JSONParse, JSONStringify, + StringPrototypeSplit, Symbol, + TypedArrayPrototypeSubarray, } = primordials; const { Buffer } = require('buffer'); const { StringDecoder } = require('string_decoder'); @@ -63,8 +65,8 @@ const advanced = { } const deserializer = new ChildProcessDeserializer( - messageBuffer.subarray(4, 4 + size)); - messageBuffer = messageBuffer.subarray(4 + size); + TypedArrayPrototypeSubarray(messageBuffer, 4, 4 + size)); + messageBuffer = TypedArrayPrototypeSubarray(messageBuffer, 4 + size); deserializer.readHeader(); yield deserializer.readValue(); @@ -98,7 +100,8 @@ const json = { if (channel[kStringDecoder] === undefined) channel[kStringDecoder] = new StringDecoder('utf8'); - const chunks = channel[kStringDecoder].write(readData).split('\n'); + const chunks = + StringPrototypeSplit(channel[kStringDecoder].write(readData), '\n'); const numCompleteChunks = chunks.length - 1; // Last line does not have trailing linebreak const incompleteChunk = chunks[numCompleteChunks];