diff options
Diffstat (limited to 'src/server/game')
| -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 |
4 files changed, 11 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); } |
