aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2015-01-18 18:30:34 +0100
committerjackpoz <giacomopoz@gmail.com>2015-01-18 18:30:34 +0100
commit5dfd07fa4f1383105e1bdb8ece173a660c7dd3d2 (patch)
treecccc81a11b6b6a0222e53ca55752cc02b3bb1abc /src
parentdfa0f2a2538ab004244acdd0446d73060b4d6a88 (diff)
Core/Misc: Fix static analysis issues
Fix some static analysis issues reported by Coverity
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp3
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp2
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp3
-rw-r--r--src/server/game/World/World.cpp5
-rw-r--r--src/server/shared/DataStores/DB2StorageLoader.cpp1
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()))