diff options
| author | jackpoz <giacomopoz@gmail.com> | 2014-04-20 00:38:25 +0200 |
|---|---|---|
| committer | jackpoz <giacomopoz@gmail.com> | 2014-04-20 00:38:25 +0200 |
| commit | fb6365ac689419a2e5dd758d4bf70c1a20ff41ff (patch) | |
| tree | 2fe3bd97242f12395e9a471b753947f037998cf0 /src/server/scripts/Northrend | |
| parent | 8ca63717932ae6db48d74e866e8d379c4f5a5920 (diff) | |
Core/Misc: Check GetVictim() for NULL before dereferencing it
Add additional NULL checks all around the code before dereferencing GetVictim() result.
Keep in mind UpdateVictim() result has nothing to do with GetVictim() result and the caller shouldn't assume anything about GetVictim() based on UpdateVictim().
Diffstat (limited to 'src/server/scripts/Northrend')
| -rw-r--r-- | src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp | 13 | ||||
| -rw-r--r-- | src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp | 5 |
2 files changed, 12 insertions, 6 deletions
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp index 2803cccead3..0a2ebb549f8 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp @@ -230,11 +230,14 @@ class boss_urom : public CreatureScript { if (arcaneExplosionTimer <= diff) { - Position pos; - me->EnsureVictim()->GetPosition(&pos); - - me->NearTeleportTo(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation()); - me->GetMotionMaster()->MoveChase(me->GetVictim()); + if (me->GetVictim()) + { + Position pos; + me->EnsureVictim()->GetPosition(&pos); + + me->NearTeleportTo(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation()); + me->GetMotionMaster()->MoveChase(me->GetVictim()); + } me->SetWalk(true); Talk(EMOTE_ARCANE_EXPLOSION); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp index c199fe9e9e3..ce6e99401a5 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp @@ -199,7 +199,10 @@ class npc_flash_freeze : public CreatureScript void UpdateAI(uint32 diff) OVERRIDE { - if (!UpdateVictim() || me->EnsureVictim()->HasAura(SPELL_BLOCK_OF_ICE) || me->EnsureVictim()->HasAura(SPELL_FLASH_FREEZE_HELPER)) + if (!UpdateVictim() + || !me->GetVictim() + || me->EnsureVictim()->HasAura(SPELL_BLOCK_OF_ICE) + || me->EnsureVictim()->HasAura(SPELL_FLASH_FREEZE_HELPER)) return; if (me->EnsureVictim()->GetGUID() != targetGUID || instance->GetBossState(BOSS_HODIR) != IN_PROGRESS) |
