diff options
author | jackpoz <giacomopoz@gmail.com> | 2015-01-18 18:30:34 +0100 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2015-01-18 18:30:34 +0100 |
commit | 5dfd07fa4f1383105e1bdb8ece173a660c7dd3d2 (patch) | |
tree | cccc81a11b6b6a0222e53ca55752cc02b3bb1abc | |
parent | dfa0f2a2538ab004244acdd0446d73060b4d6a88 (diff) |
Core/Misc: Fix static analysis issues
Fix some static analysis issues reported by Coverity
-rw-r--r-- | src/server/game/Conditions/ConditionMgr.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuras.cpp | 3 | ||||
-rw-r--r-- | src/server/game/World/World.cpp | 5 | ||||
-rw-r--r-- | src/server/shared/DataStores/DB2StorageLoader.cpp | 1 |
5 files changed, 12 insertions, 2 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index 2542706e507..366a8f5c8a9 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -1316,7 +1316,10 @@ bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond) } if (!assigned) + { delete sharedList; + break; + } } sharedList->push_back(cond); break; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 44bc3e281b1..639530e98f1 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -631,7 +631,7 @@ uint32 Unit::DealDamage(Unit* victim, uint32 damage, CleanDamage const* cleanDam // Rage from Damage made (only from direct weapon damage) if (cleanDamage && damagetype == DIRECT_DAMAGE && this != victim && getPowerType() == POWER_RAGE) { - uint32 rage = uint32(GetAttackTime(cleanDamage->attackType) / 1000 * 8.125f); + uint32 rage = uint32(GetAttackTime(cleanDamage->attackType) / 1000.f * 8.125f); switch (cleanDamage->attackType) { case OFF_ATTACK: diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 1f2d599121e..edbc9ab37b6 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -327,6 +327,9 @@ Aura* Aura::Create(SpellInfo const* spellproto, uint32 effMask, WorldObject* own else casterGUID = caster->GetGUID(); + // at this point of Aura::Create() there MUST be a valid caster + ASSERT(caster); + // check if aura can be owned by owner if (owner->isType(TYPEMASK_UNIT)) if (!owner->IsInWorld() || ((Unit*)owner)->IsDuringRemoveFromWorld()) diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index abcd2468e11..3b110b77723 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2292,7 +2292,10 @@ namespace Trinity va_end(ap); } else - std::strcpy(strBuffer, text); + { + std::strncpy(strBuffer, text, BufferSize); + strBuffer[BufferSize - 1] = '\0'; + } do_helper(dataList, strBuffer); } diff --git a/src/server/shared/DataStores/DB2StorageLoader.cpp b/src/server/shared/DataStores/DB2StorageLoader.cpp index b83525cc0dd..6dddc68b5de 100644 --- a/src/server/shared/DataStores/DB2StorageLoader.cpp +++ b/src/server/shared/DataStores/DB2StorageLoader.cpp @@ -513,6 +513,7 @@ char* DB2DatabaseLoader::Load(const char* format, int32 preparedStatement, uint3 { LocalizedString** slot = (LocalizedString**)(&dataValue[offset]); *slot = (LocalizedString*)(&stringHolders[stringHoldersRecordPoolSize * rec + stringHolderSize * stringFieldNumInRecord]); + ASSERT(*slot); // Value in database in main table field must be for enUS locale if (char* str = AddLocaleString(*slot, LOCALE_enUS, fields[f].GetString())) |