websocketserver: Validate op field type

Could cause a crash by assuming `op` is always a number.

Closes #965
This commit is contained in:
tt2468
2022-07-25 08:00:48 -07:00
parent f95865c2c4
commit 02ccd0b76f

View File

@ -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: