From b71f8367e495d27e1bade8202335ee6403d10032 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sun, 21 Sep 2014 17:21:04 +0200 Subject: 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. --- src/server/scripts/Outland/zone_shadowmoon_valley.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/server/scripts') 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 -- cgit v1.2.3