From 91b7db31d10995a45c3ec1cec975462f540f9f99 Mon Sep 17 00:00:00 2001 From: Ted John Date: Sun, 29 May 2016 10:56:36 +0100 Subject: [PATCH] fix #3771: Crash when kicking player The game did not check if the user hash existed in the map before trying to remove it. --- src/network/NetworkUser.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/network/NetworkUser.cpp b/src/network/NetworkUser.cpp index b9fe9e7d74..28ce006b76 100644 --- a/src/network/NetworkUser.cpp +++ b/src/network/NetworkUser.cpp @@ -184,7 +184,11 @@ void NetworkUserManager::UnsetUsersOfGroup(uint8 groupId) void NetworkUserManager::RemoveUser(const std::string &hash) { - _usersByHash[hash]->Remove = true; + NetworkUser * networkUser = GetUserByHash(hash); + if (networkUser != nullptr) + { + networkUser->Remove = true; + } } NetworkUser * NetworkUserManager::GetUserByHash(const std::string &hash)