From 37cdc407993d3c9aff84bdc84616f0bbc3974552 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Sat, 11 Nov 2023 18:59:46 +0200 Subject: [PATCH 1/2] Fix #20964: Crash when invalid network group id is used --- src/openrct2/network/NetworkBase.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 2567717efe..46cbcc42ab 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -2643,7 +2643,10 @@ void NetworkBase::ServerHandleAuth(NetworkConnection& connection, NetworkPacket& if (connection.AuthStatus == NetworkAuth::Verified) { const NetworkGroup* group = GetGroupByID(GetGroupIDByHash(connection.Key.PublicKeyHash())); - passwordless = group->CanPerformAction(NetworkPermission::PasswordlessLogin); + if (group != nullptr) + { + passwordless = group->CanPerformAction(NetworkPermission::PasswordlessLogin); + } } if (gameversion != NetworkGetVersion()) { @@ -3649,6 +3652,11 @@ GameActions::Result NetworkModifyGroups( case ModifyGroupType::SetName: { NetworkGroup* group = network.GetGroupByID(groupId); + if (group == nullptr) + { + return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_RENAME_GROUP, STR_NONE); + } + const char* oldName = group->GetName().c_str(); if (strcmp(oldName, name.c_str()) == 0) From d4419ea89aaa0086f9ac99b42d37d25d504aadaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Sat, 11 Nov 2023 19:03:54 +0200 Subject: [PATCH 2/2] Update changelog.txt --- distribution/changelog.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index c530f1c585..c13c959ac3 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -14,6 +14,7 @@ - Fix: [#20737] Spent money in player window underflows when getting refunds. - Fix: [#20778] [Plugin] Incorrect target api when executing custom actions. - Fix: [#20807] Tertiary colour not copied with small scenery. +- Fix: [#20964] Crash when player connects to server with a group assigned that no longer exists. 0.4.6 (2023-09-03) ------------------------------------------------------------------------