[Crash] Fix out of bound arrays, other potential crashes (#3166)

This commit is contained in:
Aeadoin
2023-04-01 12:44:41 -04:00
committed by GitHub
parent 0d509a7f3a
commit 0df84e1ee6
9 changed files with 34 additions and 24 deletions
+4 -5
View File
@@ -545,7 +545,6 @@ bool Group::UpdatePlayer(Mob* update) {
}
void Group::MemberZoned(Mob* removemob) {
uint32 i;
if (!removemob) {
return;
@@ -557,21 +556,21 @@ void Group::MemberZoned(Mob* removemob) {
//should NOT clear the name, it is used for world communication.
for (auto & m : members) {
if (m && (m == removemob || m->IsBot() && m->CastToBot()->GetBotOwner() == removemob)) {
if (m && (m == removemob || (m->IsBot() && m->CastToBot()->GetBotOwner() == removemob))) {
m = nullptr;
}
}
if (removemob->IsClient() && HasRole(removemob, RoleAssist)) {
SetGroupAssistTarget(0);
SetGroupAssistTarget(nullptr);
}
if (removemob->IsClient() && HasRole(removemob, RoleTank)) {
SetGroupTankTarget(0);
SetGroupTankTarget(nullptr);
}
if (removemob->IsClient() && HasRole(removemob, RolePuller)) {
SetGroupPullerTarget(0);
SetGroupPullerTarget(nullptr);
}
if (removemob->IsClient() && removemob == mentoree) {