diff --git a/src/websocketserver/WebSocketServer.cpp b/src/websocketserver/WebSocketServer.cpp index e4eaff5f..534d040f 100644 --- a/src/websocketserver/WebSocketServer.cpp +++ b/src/websocketserver/WebSocketServer.cpp @@ -445,6 +445,12 @@ void WebSocketServer::onMessage(websocketpp::connection_hdl hdl, goto skipProcessing; } + if (!incomingMessage["op"].is_number()) { + ret.closeCode = WebSocketCloseCode::UnknownOpCode; + ret.closeReason = "Your `op` is not a number."; + goto skipProcessing; + } + ProcessMessage(session, ret, incomingMessage["op"], incomingMessage["d"]); skipProcessing: