From: sapier Date: Sat, 21 Jun 2014 21:56:46 +0000 (+0200) Subject: Fix server assert in case of invalid message from client, just kick that client. X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=f8522d50e7c92438a3397d9965ac346613fbbfb9;p=zefram%2Fminetest%2Fminetest_engine.git Fix server assert in case of invalid message from client, just kick that client. --- 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);