From c943e72c7b79f81cbdd9fd6ec71e6d55aeea3e6a Mon Sep 17 00:00:00 2001 From: Benjamin Sergeant Date: Mon, 28 Oct 2019 21:53:31 -0700 Subject: [PATCH] check max frame size (#119) --- ixwebsocket/IXWebSocketTransport.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ixwebsocket/IXWebSocketTransport.cpp b/ixwebsocket/IXWebSocketTransport.cpp index ab54720d..691671f4 100644 --- a/ixwebsocket/IXWebSocketTransport.cpp +++ b/ixwebsocket/IXWebSocketTransport.cpp @@ -542,6 +542,13 @@ namespace ix ws.masking_key[3] = 0; } + // Prevent integer overflow in the next conditional + const uint64_t maxFrameSize(1 << 63); + if (ws.N > maxFrameSize) + { + return; + } + if (_rxbuf.size() < ws.header_size + ws.N) { return; /* Need: ws.header_size+ws.N - _rxbuf.size() */