test: read proper inspector message size · nodejs/node@8b9a05c

Original file line numberDiff line numberDiff line change

@@ -48,6 +48,7 @@ function send(socket, message, id, callback) {

4848

}

4949
5050

function parseWSFrame(buffer, handler) {

51+

// Protocol described in https://tools.ietf.org/html/rfc6455#section-5

5152

if (buffer.length < 2)

5253

return 0;

5354

assert.strictEqual(0x81, buffer[0]);

@@ -59,7 +60,8 @@ function parseWSFrame(buffer, handler) {

5960

dataLen = buffer.readUInt16BE(2);

6061

bodyOffset = 4;

6162

} else if (dataLen === 127) {

62-

dataLen = buffer.readUInt32BE(2);

63+

assert(buffer[2] === 0 && buffer[3] === 0, 'Inspector message too big');

64+

dataLen = buffer.readUIntBE(4, 6);

6365

bodyOffset = 10;

6466

}

6567

if (buffer.length < bodyOffset + dataLen)