aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2015-08-12 12:43:59 +0200
committerjackpoz <giacomopoz@gmail.com>2015-08-12 12:43:59 +0200
commit5f0f152345ec7e9cc6195ba8f59f316a1cad90f7 (patch)
treef1575878bcfbeec2e10331e72b6e1cbac5a05d3f /src
parent9b285d260e1cad66ce6e2b05948c5b4fb2850466 (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.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;
}
};