diff options
author | jackpoz <giacomopoz@gmail.com> | 2021-06-20 13:11:53 +0200 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2021-06-20 13:11:53 +0200 |
commit | 33dace231c5a169375523ffa89a2cc3fa48737bd (patch) | |
tree | e8023841a9c396371bcd636c67805f3920be354a /src | |
parent | 5446209b89146fdbe01627e806f7beddd6ae5de8 (diff) |
Core/Misc: Fix issues reported by static analysis
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Groups/Group.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Groups/GroupMgr.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Handlers/MovementHandler.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Pools/PoolMgr.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 1 | ||||
-rw-r--r-- | src/server/game/World/World.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_npc.cpp | 8 | ||||
-rw-r--r-- | src/server/scripts/Northrend/IsleOfConquest/isle_of_conquest.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp | 4 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_dk.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/World/achievement_scripts.cpp | 2 |
13 files changed, 17 insertions, 14 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 4da1b249b64..4aab63cace7 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -2779,7 +2779,7 @@ uint32 Creature::GetScriptId() const if (uint32 scriptId = creatureData->scriptId) return scriptId; - return sObjectMgr->GetCreatureTemplate(GetEntry())->ScriptID; + return ASSERT_NOTNULL(sObjectMgr->GetCreatureTemplate(GetEntry()))->ScriptID; } VendorItemData const* Creature::GetVendorItems() const diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 6bcb4a5fa15..791960facd5 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -1197,6 +1197,7 @@ void Group::NeedBeforeGreed(Loot* loot, WorldObject* lootedObject) continue; item = sObjectMgr->GetItemTemplate(i->itemid); + ASSERT(item); //roll for over-threshold item if it's one-player loot if (item->Quality >= uint32(m_lootThreshold)) diff --git a/src/server/game/Groups/GroupMgr.cpp b/src/server/game/Groups/GroupMgr.cpp index b2571246be8..d7d40913a20 100644 --- a/src/server/game/Groups/GroupMgr.cpp +++ b/src/server/game/Groups/GroupMgr.cpp @@ -228,6 +228,7 @@ void GroupMgr::LoadGroups() Field* fields = result->Fetch(); Group* group = GetGroupByDbStoreId(fields[0].GetUInt32()); // group will never be NULL (we have run consistency sql's before loading) + ASSERT(group); MapEntry const* mapEntry = sMapStore.LookupEntry(fields[1].GetUInt16()); if (!mapEntry || !mapEntry->IsDungeon()) diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp index 0fc0ca04ea8..3596fef2352 100644 --- a/src/server/game/Handlers/MovementHandler.cpp +++ b/src/server/game/Handlers/MovementHandler.cpp @@ -496,6 +496,8 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData) ReadMovementInfo(recvData, &movementInfo); recvData >> speedReceived; + ASSERT(mover); + // verify that indeed the client is replying with the changes that were send to him if (!mover->HasPendingMovementChange() || mover->PeakFirstPendingMovementChange().movementCounter > movementCounter) { @@ -647,6 +649,7 @@ void WorldSession::HandleMoveKnockBackAck(WorldPacket& recvData) } Unit* mover = ObjectAccessor::GetUnit(*_player, guid); + ASSERT(mover); recvData.read_skip<uint32>(); // unk diff --git a/src/server/game/Pools/PoolMgr.cpp b/src/server/game/Pools/PoolMgr.cpp index e685c1f1b15..4f3bb1f117e 100644 --- a/src/server/game/Pools/PoolMgr.cpp +++ b/src/server/game/Pools/PoolMgr.cpp @@ -561,6 +561,7 @@ void PoolMgr::LoadFromDB() } GameObjectTemplate const* goinfo = sObjectMgr->GetGameObjectTemplate(data->id); + ASSERT(goinfo); if (goinfo->type != GAMEOBJECT_TYPE_CHEST && goinfo->type != GAMEOBJECT_TYPE_GOOBER && goinfo->type != GAMEOBJECT_TYPE_FISHINGHOLE) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index b95ce469b08..1847ddaf111 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4993,7 +4993,7 @@ void Spell::TakeReagents() for (int s = 0; s < MAX_ITEM_PROTO_SPELLS; ++s) { // CastItem will be used up and does not count as reagent - int32 charges = m_CastItem->GetSpellCharges(s); + int32 charges = ASSERT_NOTNULL(m_CastItem)->GetSpellCharges(s); if (castItemTemplate->Spells[s].SpellCharges < 0 && abs(charges) < 2) { ++itemcount; diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 23af38a2a4d..e3128e89115 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -970,6 +970,7 @@ void Spell::EffectTriggerRitualOfSummoning(SpellEffIndex effIndex) void Spell::CalculateJumpSpeeds(SpellInfo const* spellInfo, uint8 i, float dist, float& speedXY, float& speedZ) { Unit* unitCaster = GetUnitCasterForEffectHandlers(); + ASSERT(unitCaster); float runSpeed = unitCaster->IsControlledByPlayer() ? playerBaseMoveSpeed[MOVE_RUN] : baseMoveSpeed[MOVE_RUN]; if (Creature* creature = unitCaster->ToCreature()) runSpeed *= creature->GetCreatureTemplate()->speed_run; diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index bd0339a5a79..e1278d42ab1 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2237,7 +2237,7 @@ void World::DetectDBCLang() m_lang_confid = LOCALE_enUS; } - ChrRacesEntry const* race = sChrRacesStore.LookupEntry(1); + ChrRacesEntry const* race = sChrRacesStore.AssertEntry(1); std::string availableLocalsStr; diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index d0c2f87f3fd..a232da2ef1b 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -197,9 +197,7 @@ public: sObjectMgr->AddVendorItem(vendor_entry, itemId, maxcount, incrtime, extendedcost); - ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(itemId); - - handler->PSendSysMessage(LANG_ITEM_ADDED_TO_LIST, itemId, itemTemplate->Name1.c_str(), maxcount, incrtime, extendedcost); + handler->PSendSysMessage(LANG_ITEM_ADDED_TO_LIST, itemId, item->Name1.c_str(), maxcount, incrtime, extendedcost); return true; } @@ -351,9 +349,7 @@ public: return false; } - ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(itemId); - - handler->PSendSysMessage(LANG_ITEM_DELETED_FROM_LIST, itemId, itemTemplate->Name1.c_str()); + handler->PSendSysMessage(LANG_ITEM_DELETED_FROM_LIST, itemId, item->Name1.c_str()); return true; } diff --git a/src/server/scripts/Northrend/IsleOfConquest/isle_of_conquest.cpp b/src/server/scripts/Northrend/IsleOfConquest/isle_of_conquest.cpp index 6e7a5d17b2e..dca25b593ae 100644 --- a/src/server/scripts/Northrend/IsleOfConquest/isle_of_conquest.cpp +++ b/src/server/scripts/Northrend/IsleOfConquest/isle_of_conquest.cpp @@ -204,7 +204,7 @@ class spell_ioc_launch : public SpellScript if (!GetCaster()->ToCreature() || !GetExplTargetDest()) return; - GetCaster()->ToCreature()->m_Events.AddEvent(new StartLaunchEvent(*GetExplTargetDest(), GetHitPlayer()->GetGUID().GetCounter()), GetCaster()->ToCreature()->m_Events.CalculateTime(2500ms)); + GetCaster()->ToCreature()->m_Events.AddEvent(new StartLaunchEvent(*GetExplTargetDest(), ASSERT_NOTNULL(GetHitPlayer())->GetGUID().GetCounter()), GetCaster()->ToCreature()->m_Events.CalculateTime(2500ms)); } void Register() override diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp index 5c39a3c9e04..f245bd6e873 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp @@ -113,7 +113,7 @@ private: struct npc_underbog_mushroom : public ScriptedAI { - npc_underbog_mushroom(Creature* creature) : ScriptedAI(creature) { } + npc_underbog_mushroom(Creature* creature) : ScriptedAI(creature), _counter(0) { } void InitializeAI() override { @@ -154,7 +154,7 @@ struct npc_underbog_mushroom : public ScriptedAI private: TaskScheduler _scheduler; - uint32 _counter = 0; + uint32 _counter; }; void AddSC_boss_hungarfen() diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index 767042a04b0..1aeb8cd1445 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -2019,7 +2019,7 @@ class spell_dk_raise_dead : public SpellScriptLoader SpellCastResult CheckReagents() { /// @workaround: there is no access to castresult of other spells, check it manually - SpellInfo const* reagentSpell = sSpellMgr->GetSpellInfo(SPELL_DK_RAISE_DEAD_USE_REAGENT); + SpellInfo const* reagentSpell = sSpellMgr->AssertSpellInfo(SPELL_DK_RAISE_DEAD_USE_REAGENT); Player* player = GetCaster()->ToPlayer(); if (!player->CanNoReagentCast(reagentSpell)) { diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp index 3c075e8fc6b..125d7f9d088 100644 --- a/src/server/scripts/World/achievement_scripts.cpp +++ b/src/server/scripts/World/achievement_scripts.cpp @@ -143,7 +143,7 @@ class achievement_arena_kills : public AchievementCriteriaScript if (!source->InArena()) return false; - return source->GetBattleground()->GetArenaType() == _arenaType; + return ASSERT_NOTNULL(source->GetBattleground())->GetArenaType() == _arenaType; } private: |