diff options
author | jackpoz <giacomopoz@gmail.com> | 2015-08-12 12:43:59 +0200 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2015-08-12 12:43:59 +0200 |
commit | 5f0f152345ec7e9cc6195ba8f59f316a1cad90f7 (patch) | |
tree | f1575878bcfbeec2e10331e72b6e1cbac5a05d3f /src | |
parent | 9b285d260e1cad66ce6e2b05948c5b4fb2850466 (diff) |
Scripts/Misc: Fix possible crash
Fix possible NULL-dereference exception happening in PlayerOrPet checks used in Ulduar and Temple Of Ahn Qiraj
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp | 10 | ||||
-rw-r--r-- | src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h | 10 |
2 files changed, 12 insertions, 8 deletions
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; } }; |