aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2015-08-12 12:43:59 +0200
committerCarbenium <carbenium@outlook.com>2015-09-24 20:39:42 +0200
commit6193b8a28d88428acc46dc591353614ef1f3e160 (patch)
tree0792d1bdda5403b8fc1ef050de10b42e8a9e933b /src
parentc3c7ab6ec765833e98799956a44ee9e59bf0af87 (diff)
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)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp10
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h10
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;
}
};