test: read proper inspector message size
Fix a bug when messages bigger than 64kb where incorrectly parsed by the inspector-helper. PR-URL: https://github.com/nodejs/node/pull/14596 Fixes: https://github.com/nodejs/node/issues/14507 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
211df3fe8c
commit
2dc09f656b
@ -53,6 +53,7 @@ function sendEnd(socket) {
|
||||
}
|
||||
|
||||
function parseWSFrame(buffer, handler) {
|
||||
// Protocol described in https://tools.ietf.org/html/rfc6455#section-5
|
||||
if (buffer.length < 2)
|
||||
return 0;
|
||||
if (buffer[0] === 0x88 && buffer[1] === 0x00) {
|
||||
@ -68,7 +69,8 @@ function parseWSFrame(buffer, handler) {
|
||||
dataLen = buffer.readUInt16BE(2);
|
||||
bodyOffset = 4;
|
||||
} else if (dataLen === 127) {
|
||||
dataLen = buffer.readUInt32BE(2);
|
||||
assert(buffer[2] === 0 && buffer[3] === 0, 'Inspector message too big');
|
||||
dataLen = buffer.readUIntBE(4, 6);
|
||||
bodyOffset = 10;
|
||||
}
|
||||
if (buffer.length < bodyOffset + dataLen)
|
||||
|
Loading…
x
Reference in New Issue
Block a user