diff options
author | jackpoz <giacomopoz@gmail.com> | 2014-09-21 17:21:04 +0200 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2014-09-21 17:21:04 +0200 |
commit | b71f8367e495d27e1bade8202335ee6403d10032 (patch) | |
tree | cbeb994400f326de38e5f51e4ab6f927ef96ad01 /src | |
parent | 31234c0ca040d9e14cc38e6011a8002085502491 (diff) |
Scripts/Shadowmoon Valley: Fix static analysis issues added in cd48ee01c0b1465c5b07427bb6fe9baa57f053b9
Fix static analysis issues added in cd48ee01c0b1465c5b07427bb6fe9baa57f053b9 about uninitialized values and pointers possibly point to free'd memory being dereferenced.
In memory of all the developers who got banned from IRC in the process of fixing these issues.
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Outland/zone_shadowmoon_valley.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp index fe323452c29..9eba6fdef0b 100644 --- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp @@ -71,7 +71,10 @@ public: struct npc_invis_infernal_casterAI : public ScriptedAI { - npc_invis_infernal_casterAI(Creature* creature) : ScriptedAI(creature) { } + npc_invis_infernal_casterAI(Creature* creature) : ScriptedAI(creature) + { + ground = 0.f; + } void Reset() override { @@ -148,12 +151,12 @@ public: void IsSummonedBy(Unit* summoner) override { if (summoner->ToCreature()) - caster = summoner->ToCreature(); + casterGUID = summoner->ToCreature()->GetGUID();; } void JustDied(Unit* /*killer*/) override { - if (caster) + if (Creature* caster = ObjectAccessor::GetCreature(*me, casterGUID)) caster->AI()->SetData(TYPE_INFERNAL, DATA_DIED); } @@ -175,7 +178,7 @@ public: } private: - Creature* caster; + ObjectGuid casterGUID; }; CreatureAI* GetAI(Creature* creature) const override |