From 88fe124c3b4feadb0c8f8743277d95b2717af1f1 Mon Sep 17 00:00:00 2001 From: Khafra Date: Mon, 13 May 2024 18:13:40 -0400 Subject: [PATCH] fixup --- lib/web/websocket/receiver.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/web/websocket/receiver.js b/lib/web/websocket/receiver.js index 2244b1756e3..85b6edf649c 100644 --- a/lib/web/websocket/receiver.js +++ b/lib/web/websocket/receiver.js @@ -12,7 +12,8 @@ const { websocketMessageReceived, utf8Decode, isControlFrame, - isTextBinaryFrame + isTextBinaryFrame, + isContinuationFrame } = require('./util') const { WebsocketFrameSend } = require('./frame') const { closeWebSocketConnection } = require('./connection') @@ -121,6 +122,11 @@ class ByteParser extends Writable { return } + if (isContinuationFrame(opcode) && this.#fragments.length === 0) { + failWebsocketConnection(this.ws, 'Unexpected continuation frame') + return + } + if (payloadLength <= 125) { this.#info.payloadLength = payloadLength this.#state = parserStates.READ_DATA