From f8522d50e7c92438a3397d9965ac346613fbbfb9 Mon Sep 17 00:00:00 2001 From: sapier Date: Sat, 21 Jun 2014 23:56:46 +0200 Subject: [PATCH] Fix server assert in case of invalid message from client, just kick that client. --- src/server.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/server.cpp b/src/server.cpp index 29fb1811..7c4c48c4 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -1752,7 +1752,13 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id) else if(command == TOSERVER_CLIENT_READY) { // clients <= protocol version 22 did not send ready message, // they're already initialized - assert(peer_proto_ver > 22); + if (peer_proto_ver <= 22) { + infostream << "Client sent message not expected by a " + << "client using protocol version <= 22," + << "disconnecing peer_id: " << peer_id << std::endl; + m_con.DisconnectPeer(peer_id); + return; + } PlayerSAO* playersao = StageTwoClientInit(peer_id);