From c9ff1d7e40bbc419465fcd3fbefc9d7365539a31 Mon Sep 17 00:00:00 2001 From: roc13x Date: Sun, 20 Aug 2017 18:27:40 -0600 Subject: Core/Instances: Prevent possible minion crash (cherry picked from commit 87d1d72d095edf924176e22ae74bec1d0bd169e2) --- src/server/game/Instances/InstanceScript.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index e6e8450c191..1435960d6e4 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.cpp @@ -374,7 +374,8 @@ bool InstanceScript::SetBossState(uint32 id, EncounterState state) if (GameObject* door = instance->GetGameObject(*i)) UpdateDoorState(door); - for (GuidSet::iterator i = bossInfo->minion.begin(); i != bossInfo->minion.end(); ++i) + GuidSet minions = bossInfo->minion; // Copy to prevent iterator invalidation (minion might be unsummoned in UpdateMinionState) + for (GuidSet::iterator i = minions.begin(); i != minions.end(); ++i) if (Creature* minion = instance->GetCreature(*i)) UpdateMinionState(minion, state); -- cgit v1.2.3