From 6a86f007f3924fbd2ea5eb222d9998da376ad0fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Mon, 19 Sep 2016 20:25:00 +0200 Subject: [PATCH] Fix #4437: Crash in Network::Server_Handle_AUTH --- src/network/network.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/network/network.cpp b/src/network/network.cpp index 0519248b7a..439ed3c513 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -670,7 +670,13 @@ uint8 Network::GetGroupIDByHash(const std::string &keyhash) uint8 groupId = GetDefaultGroup(); if (networkUser != nullptr && networkUser->GroupId.HasValue()) { - groupId = networkUser->GroupId.GetValue(); + const uint8 assignedGroup = networkUser->GroupId.GetValue(); + if (GetGroupByID(assignedGroup) != nullptr) { + groupId = assignedGroup; + } else { + log_warning("User %s is assigned to non-existent group %u. Assigning to default group (%u)", + keyhash.c_str(), assignedGroup, groupId); + } } return groupId; }