diff options
| author | Giacomo Pozzoni <giacomopoz@gmail.com> | 2021-01-24 16:04:47 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-24 16:04:47 +0100 |
| commit | 661f554b9e08a3721227f1e4a4fe6fd74e43a1f4 (patch) | |
| tree | 16caa4dab3e052ba563212b4f8ef4bdf4af7b5fc /src/server/game | |
| parent | 62320b1efab3a050cf2187490b59234a037c69c8 (diff) | |
Core/Misc: Fix static analysis issues (#25924)
* Core/Misc: Fix static analysis issues
* Fix infinite loop in ".debug send opcode"
Fix using uninitialized memory in ".debug send opcode"
Diffstat (limited to 'src/server/game')
| -rw-r--r-- | src/server/game/Battlegrounds/Zones/BattlegroundBE.h | 2 | ||||
| -rw-r--r-- | src/server/game/Battlegrounds/Zones/BattlegroundDS.h | 10 | ||||
| -rw-r--r-- | src/server/game/Battlegrounds/Zones/BattlegroundNA.h | 2 | ||||
| -rw-r--r-- | src/server/game/Battlegrounds/Zones/BattlegroundRL.h | 2 | ||||
| -rw-r--r-- | src/server/game/Conditions/DisableMgr.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObjectData.h | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/EquipmentSet.h | 2 | ||||
| -rw-r--r-- | src/server/game/Globals/ObjectMgr.h | 18 | ||||
| -rw-r--r-- | src/server/game/Groups/Group.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Handlers/MovementHandler.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/OutdoorPvP/OutdoorPvPMgr.h | 2 | ||||
| -rw-r--r-- | src/server/game/Server/WorldSocket.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Warden/WardenCheckMgr.h | 8 |
13 files changed, 27 insertions, 33 deletions
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundBE.h b/src/server/game/Battlegrounds/Zones/BattlegroundBE.h index 882ac97de56..3331ff27960 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundBE.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundBE.h @@ -42,7 +42,7 @@ enum BattlegroundBEGameObjects BG_BE_OBJECT_TYPE_BUFF_2 = 184664 }; -constexpr Seconds BG_BE_REMOVE_DOORS_TIMER = 5s; +inline constexpr Seconds BG_BE_REMOVE_DOORS_TIMER = 5s; enum BattlegroundBEEvents { diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundDS.h b/src/server/game/Battlegrounds/Zones/BattlegroundDS.h index 1e6e28a10fb..03bb9978f18 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundDS.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundDS.h @@ -73,11 +73,11 @@ enum BattlegroundDSData }; // These values are NOT blizzlike... need the correct data! -constexpr Seconds BG_DS_WATERFALL_TIMER_MIN = 30s; -constexpr Seconds BG_DS_WATERFALL_TIMER_MAX = 60s; -constexpr Seconds BG_DS_WATERFALL_WARNING_DURATION = 5s; -constexpr Seconds BG_DS_WATERFALL_DURATION = 30s; -constexpr Milliseconds BG_DS_WATERFALL_KNOCKBACK_TIMER = 1500ms; +inline constexpr Seconds BG_DS_WATERFALL_TIMER_MIN = 30s; +inline constexpr Seconds BG_DS_WATERFALL_TIMER_MAX = 60s; +inline constexpr Seconds BG_DS_WATERFALL_WARNING_DURATION = 5s; +inline constexpr Seconds BG_DS_WATERFALL_DURATION = 30s; +inline constexpr Milliseconds BG_DS_WATERFALL_KNOCKBACK_TIMER = 1500ms; enum BattlegroundDSEvents { diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundNA.h b/src/server/game/Battlegrounds/Zones/BattlegroundNA.h index b1548293751..393d27c74da 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundNA.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundNA.h @@ -41,7 +41,7 @@ enum BattlegroundNAGameObjects BG_NA_OBJECT_TYPE_BUFF_2 = 184664 }; -constexpr Seconds BG_NA_REMOVE_DOORS_TIMER = 5s; +inline constexpr Seconds BG_NA_REMOVE_DOORS_TIMER = 5s; enum BattlegroundNAEvents { diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRL.h b/src/server/game/Battlegrounds/Zones/BattlegroundRL.h index 0b7fd3b447b..3f6f83d51b7 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundRL.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundRL.h @@ -37,7 +37,7 @@ enum BattlegroundRLGameObjects BG_RL_OBJECT_TYPE_BUFF_2 = 184664 }; -constexpr Seconds BG_RL_REMOVE_DOORS_TIMER = 5s; +inline constexpr Seconds BG_RL_REMOVE_DOORS_TIMER = 5s; enum BattlegroundRLEvents { diff --git a/src/server/game/Conditions/DisableMgr.cpp b/src/server/game/Conditions/DisableMgr.cpp index bcf1024affe..9a1614fb2e2 100644 --- a/src/server/game/Conditions/DisableMgr.cpp +++ b/src/server/game/Conditions/DisableMgr.cpp @@ -328,7 +328,7 @@ bool IsDisabledFor(DisableType type, uint32 entry, WorldObject const* ref, uint8 { if (spellFlags & (SPELL_DISABLE_ARENAS | SPELL_DISABLE_BATTLEGROUNDS)) { - if (Map const* map = ref->GetMap()) + if (Map const* map = ref->FindMap()) { if (spellFlags & SPELL_DISABLE_ARENAS && map->IsBattleArena()) return true; // Current map is Arena and this spell is disabled here diff --git a/src/server/game/Entities/GameObject/GameObjectData.h b/src/server/game/Entities/GameObject/GameObjectData.h index a840fb5df92..ef7c95035e0 100644 --- a/src/server/game/Entities/GameObject/GameObjectData.h +++ b/src/server/game/Entities/GameObject/GameObjectData.h @@ -631,8 +631,8 @@ struct GameObjectOverride // From `gameobject_template_addon` struct GameObjectTemplateAddon : public GameObjectOverride { - uint32 Mingold; - uint32 Maxgold; + uint32 Mingold = 0; + uint32 Maxgold = 0; std::array<uint32, 4> artKits = {}; }; diff --git a/src/server/game/Entities/Player/EquipmentSet.h b/src/server/game/Entities/Player/EquipmentSet.h index 8ace709860e..26677e424b6 100644 --- a/src/server/game/Entities/Player/EquipmentSet.h +++ b/src/server/game/Entities/Player/EquipmentSet.h @@ -43,7 +43,7 @@ struct EquipmentSetInfo std::string SetName; std::string SetIcon; uint32 IgnoreMask = 0; ///< Mask of EquipmentSlot - std::array<ObjectGuid, EQUIPMENT_SET_SLOTS> Pieces; + std::array<ObjectGuid, EQUIPMENT_SET_SLOTS> Pieces = {}; } Data; /// Server-side data diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index d465272c5e9..6277d363d7a 100644 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -710,18 +710,12 @@ typedef std::pair<ExclusiveQuestGroups::const_iterator, ExclusiveQuestGroups::co struct PetLevelInfo { - PetLevelInfo() : health(0), mana(0), armor(0), minDamage(0), maxDamage(0) - { - for (uint16& stat : stats) - stat = 0; - } - - uint16 stats[MAX_STATS]; - uint16 health; - uint16 mana; - uint32 armor; - uint16 minDamage; - uint16 maxDamage; + uint16 stats[MAX_STATS] = {}; + uint16 health = 0; + uint16 mana = 0; + uint32 armor = 0; + uint16 minDamage = 0; + uint16 maxDamage = 0; }; struct MailLevelReward diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 7e9880e2254..4d02d7fa9d3 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -778,7 +778,7 @@ void Group::ConvertLeaderInstancesToGroup(Player* player, Group* group, bool swi /* if group leader is in a non-raid dungeon map and nobody is actually bound to this map then the group can "take over" the instance * * (example: two-player group disbanded by disconnect where the player reconnects within 60 seconds and the group is reformed) */ - if (Map* playerMap = player->GetMap()) + if (Map* playerMap = player->FindMap()) if (!switchLeader && playerMap->IsNonRaidDungeon()) if (InstanceSave* save = sInstanceSaveMgr->GetInstanceSave(playerMap->GetInstanceId())) if (save->GetGroupCount() == 0 && save->GetPlayerCount() == 0) diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp index 6283e875518..7b7ccf8771c 100644 --- a/src/server/game/Handlers/MovementHandler.cpp +++ b/src/server/game/Handlers/MovementHandler.cpp @@ -685,7 +685,7 @@ void WorldSession::HandleTimeSyncResponse(WorldPacket& recvData) using the following relation: serverTime = clockDelta + clientTime */ - int64 clockDelta = (int64)(serverTimeAtSent + lagDelay) - (int64)clientTimestamp; + int64 clockDelta = (int64)serverTimeAtSent + (int64)lagDelay - (int64)clientTimestamp; _timeSyncClockDeltaQueue.push_back(std::pair<int64, uint32>(clockDelta, roundTripDuration)); ComputeNewClockDelta(); } diff --git a/src/server/game/OutdoorPvP/OutdoorPvPMgr.h b/src/server/game/OutdoorPvP/OutdoorPvPMgr.h index 16eb87207ac..9815a1198b3 100644 --- a/src/server/game/OutdoorPvP/OutdoorPvPMgr.h +++ b/src/server/game/OutdoorPvP/OutdoorPvPMgr.h @@ -93,7 +93,7 @@ class TC_GAME_API OutdoorPvPMgr OutdoorPvPMap m_OutdoorPvPMap; // Holds the outdoor PvP templates - OutdoorPvPScriptIds m_OutdoorPvPDatas; + OutdoorPvPScriptIds m_OutdoorPvPDatas = {}; // update interval uint32 m_UpdateTimer; diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index 980a27cfe6d..7430b808370 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -233,11 +233,11 @@ struct AuthSession uint32 LoginServerType = 0; uint32 RealmID = 0; uint32 Build = 0; - std::array<uint8, 4> LocalChallenge; + std::array<uint8, 4> LocalChallenge = {}; uint32 LoginServerID = 0; uint32 RegionID = 0; uint64 DosResponse = 0; - Trinity::Crypto::SHA1::Digest Digest; + Trinity::Crypto::SHA1::Digest Digest = {}; std::string Account; ByteBuffer AddonInfo; }; diff --git a/src/server/game/Warden/WardenCheckMgr.h b/src/server/game/Warden/WardenCheckMgr.h index 7b0f81cf422..f002776ede1 100644 --- a/src/server/game/Warden/WardenCheckMgr.h +++ b/src/server/game/Warden/WardenCheckMgr.h @@ -87,15 +87,15 @@ constexpr WorldIntConfigs GetWardenCategoryCountConfig(WardenCheckCategory categ struct WardenCheck { - uint16 CheckId; + uint16 CheckId = 0; WardenCheckType Type = NONE_CHECK; std::vector<uint8> Data; - uint32 Address; // PROC_CHECK, MEM_CHECK, PAGE_CHECK - uint8 Length; // PROC_CHECK, MEM_CHECK, PAGE_CHECK + uint32 Address = 0; // PROC_CHECK, MEM_CHECK, PAGE_CHECK + uint8 Length = 0; // PROC_CHECK, MEM_CHECK, PAGE_CHECK std::string Str; // LUA, MPQ, DRIVER std::string Comment; std::array<char, 4> IdStr = {}; // LUA - WardenActions Action; + WardenActions Action = WARDEN_ACTION_LOG; }; constexpr uint8 WARDEN_MAX_LUA_CHECK_LENGTH = 170; |
