From 6193b8a28d88428acc46dc591353614ef1f3e160 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Wed, 12 Aug 2015 12:43:59 +0200 Subject: Scripts/Misc: Fix possible crash Fix possible NULL-dereference exception happening in PlayerOrPet checks used in Ulduar and Temple Of Ahn Qiraj (cherry picked from commit 5f0f152345ec7e9cc6195ba8f59f316a1cad90f7) --- src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp | 10 ++++++---- src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp index 7238760822b..05ec05873f5 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp @@ -208,11 +208,13 @@ class PlayerOrPetCheck public: bool operator()(WorldObject* object) const { - if (object->GetTypeId() != TYPEID_PLAYER) - if (!object->ToCreature()->IsPet()) - return true; + if (object->GetTypeId() == TYPEID_PLAYER) + return false; - return false; + if (Creature* creature = object->ToCreature()) + return !creature->IsPet(); + + return true; } }; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h index 2d10ffc01bc..9f640c410ef 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h @@ -425,11 +425,13 @@ class PlayerOrPetCheck public: bool operator()(WorldObject* object) const { - if (object->GetTypeId() != TYPEID_PLAYER) - if (!object->ToCreature()->IsPet()) - return true; + if (object->GetTypeId() == TYPEID_PLAYER) + return false; - return false; + if (Creature* creature = object->ToCreature()) + return !creature->IsPet(); + + return true; } }; -- cgit v1.2.3