diff options
author | roc13x <roc13x@gmail.com> | 2017-08-20 18:27:40 -0600 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2017-08-21 09:05:01 +0200 |
commit | 87d1d72d095edf924176e22ae74bec1d0bd169e2 (patch) | |
tree | 6baf23f7ebaa294e42c66b686f4fbaf5ab9f9320 /src/server/game/Instances/InstanceScript.cpp | |
parent | 503a382804e6e32cd9f0c13a3cea93453707dfdd (diff) |
Core/Instances: Prevent possible minion crash
Diffstat (limited to 'src/server/game/Instances/InstanceScript.cpp')
-rw-r--r-- | src/server/game/Instances/InstanceScript.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index d2946b8d75b..e0b0549b5f2 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.cpp @@ -357,7 +357,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); |