aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-06-06 09:16:59 +0200
committerShauren <shauren.trinity@gmail.com>2016-06-06 09:16:59 +0200
commit8396dabdad65fbe86c525584e38ccfacde85f9f1 (patch)
treefd91aa475c92e825c1ddf99b7d09406b2f6ce62e /src/server/game
parentd59bba3c5dcc0915247c86c4b89f0325b2af97be (diff)
Core/Misc: Fixed coverity issues
Uninitialized fields: CID 1354593, 1354595, 1354738 Unchecked return value: CID 1354558 Out of bounds access: CID 1352989, 1352993 Null pointer dereference: CID 1296286
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Entities/Unit/StatSystem.cpp2
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp4
-rw-r--r--src/server/game/Handlers/PetHandler.cpp17
-rw-r--r--src/server/game/Server/Packets/BattlenetPackets.h4
-rw-r--r--src/server/game/Server/Packets/PetPackets.cpp14
-rw-r--r--src/server/game/Server/Packets/PetPackets.h3
-rw-r--r--src/server/game/Server/WorldSession.cpp1
7 files changed, 22 insertions, 23 deletions
diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp
index f5660efe00e..4fa79a91eee 100644
--- a/src/server/game/Entities/Unit/StatSystem.cpp
+++ b/src/server/game/Entities/Unit/StatSystem.cpp
@@ -302,7 +302,7 @@ void Player::UpdateAttackPowerAndDamage(bool ranged)
float val2 = 0.0f;
float level = float(getLevel());
- ChrClassesEntry const* entry = sChrClassesStore.LookupEntry(getClass());
+ ChrClassesEntry const* entry = sChrClassesStore.AssertEntry(getClass());
UnitMods unitMod = ranged ? UNIT_MOD_ATTACK_POWER_RANGED : UNIT_MOD_ATTACK_POWER;
uint16 index = UNIT_FIELD_ATTACK_POWER;
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index e4b03ed79c7..c1455d355d7 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -2210,8 +2210,8 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(PreparedQueryResult res
uint32 title_alliance = it->first;
uint32 title_horde = it->second;
- CharTitlesEntry const* atitleInfo = sCharTitlesStore.LookupEntry(title_alliance);
- CharTitlesEntry const* htitleInfo = sCharTitlesStore.LookupEntry(title_horde);
+ CharTitlesEntry const* atitleInfo = sCharTitlesStore.AssertEntry(title_alliance);
+ CharTitlesEntry const* htitleInfo = sCharTitlesStore.AssertEntry(title_horde);
// new team
if (newTeamId == TEAM_ALLIANCE)
{
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp
index 849a5097c61..84b89968dfb 100644
--- a/src/server/game/Handlers/PetHandler.cpp
+++ b/src/server/game/Handlers/PetHandler.cpp
@@ -515,10 +515,9 @@ void WorldSession::HandlePetSetAction(WorldPackets::Pet::PetSetAction& packet)
void WorldSession::HandlePetRename(WorldPackets::Pet::PetRename& packet)
{
ObjectGuid petguid = packet.RenameData.PetGUID;
- bool isdeclined = packet.RenameData.HasDeclinedNames;
std::string name = packet.RenameData.NewName;
- DeclinedName declinedname = packet.RenameData.DeclinedNames;
+ DeclinedName* declinedname = packet.RenameData.DeclinedNames.get_ptr();
Pet* pet = ObjectAccessor::GetPet(*_player, petguid);
// check it!
@@ -546,21 +545,21 @@ void WorldSession::HandlePetRename(WorldPackets::Pet::PetRename& packet)
pet->RemoveByteFlag(UNIT_FIELD_BYTES_2, 2, UNIT_CAN_BE_RENAMED);
- if (isdeclined)
+ if (declinedname)
{
std::wstring wname;
if (!Utf8toWStr(name, wname))
return;
- if (!ObjectMgr::CheckDeclinedNames(wname, declinedname))
+ if (!ObjectMgr::CheckDeclinedNames(wname, *declinedname))
{
- SendPetNameInvalid(PET_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME, name, &declinedname);
+ SendPetNameInvalid(PET_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME, name, declinedname);
return;
}
}
SQLTransaction trans = CharacterDatabase.BeginTransaction();
- if (isdeclined)
+ if (declinedname)
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_DECLINEDNAME);
stmt->setUInt32(0, pet->GetCharmInfo()->GetPetNumber());
@@ -571,7 +570,7 @@ void WorldSession::HandlePetRename(WorldPackets::Pet::PetRename& packet)
stmt->setUInt64(1, _player->GetGUID().GetCounter());
for (uint8 i = 0; i < 5; i++)
- stmt->setString(i + 2, declinedname.name[i]);
+ stmt->setString(i + 2, declinedname->name[i]);
trans->Append(stmt);
}
@@ -717,8 +716,8 @@ void WorldSession::SendPetNameInvalid(uint32 error, const std::string& name, Dec
WorldPackets::Pet::PetNameInvalid petNameInvalid;
petNameInvalid.Result = error;
petNameInvalid.RenameData.NewName = name;
- for (int i = 0; i < MAX_DECLINED_NAME_CASES; i++)
- petNameInvalid.RenameData.DeclinedNames.name[i] = declinedName[i].name[i];
+ if (declinedName)
+ petNameInvalid.RenameData.DeclinedNames = *declinedName;
SendPacket(petNameInvalid.Write());
}
diff --git a/src/server/game/Server/Packets/BattlenetPackets.h b/src/server/game/Server/Packets/BattlenetPackets.h
index f059b39b75f..76aa499799c 100644
--- a/src/server/game/Server/Packets/BattlenetPackets.h
+++ b/src/server/game/Server/Packets/BattlenetPackets.h
@@ -76,8 +76,8 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint32 Token;
- bool Allow;
+ uint32 Token = 0;
+ bool Allow = false;
ByteBuffer Ticket;
};
diff --git a/src/server/game/Server/Packets/PetPackets.cpp b/src/server/game/Server/Packets/PetPackets.cpp
index 36a71ba9c53..8bbf0b051e4 100644
--- a/src/server/game/Server/Packets/PetPackets.cpp
+++ b/src/server/game/Server/Packets/PetPackets.cpp
@@ -99,19 +99,19 @@ WorldPacket const* WorldPackets::Pet::PetNameInvalid::Write()
_worldPacket << uint8(RenameData.NewName.length());
- _worldPacket.WriteBit(RenameData.HasDeclinedNames);
+ _worldPacket.WriteBit(RenameData.DeclinedNames.is_initialized());
_worldPacket.FlushBits();
- if (RenameData.HasDeclinedNames)
+ if (RenameData.DeclinedNames)
{
for (int32 i = 0; i < MAX_DECLINED_NAME_CASES; i++)
{
- _worldPacket.WriteBits(RenameData.DeclinedNames.name[i].length(), 7);
+ _worldPacket.WriteBits(RenameData.DeclinedNames->name[i].length(), 7);
_worldPacket.FlushBits();
}
for (int32 i = 0; i < MAX_DECLINED_NAME_CASES; i++)
- _worldPacket << RenameData.DeclinedNames.name[i];
+ _worldPacket << RenameData.DeclinedNames->name[i];
}
_worldPacket.WriteString(RenameData.NewName);
@@ -126,15 +126,15 @@ void WorldPackets::Pet::PetRename::Read()
int8 nameLen = 0;
_worldPacket >> nameLen;
- RenameData.HasDeclinedNames = _worldPacket.ReadBit();
- if (RenameData.HasDeclinedNames)
+ if (_worldPacket.ReadBit())
{
+ RenameData.DeclinedNames = boost::in_place();
int32 count[MAX_DECLINED_NAME_CASES];
for (int32 i = 0; i < MAX_DECLINED_NAME_CASES; i++)
count[i] = _worldPacket.ReadBits(7);
for (int32 i = 0; i < MAX_DECLINED_NAME_CASES; i++)
- RenameData.DeclinedNames.name[i] = _worldPacket.ReadString(count[i]);
+ RenameData.DeclinedNames->name[i] = _worldPacket.ReadString(count[i]);
}
RenameData.NewName = _worldPacket.ReadString(nameLen);
diff --git a/src/server/game/Server/Packets/PetPackets.h b/src/server/game/Server/Packets/PetPackets.h
index f11a71a936c..3d3c3e76f72 100644
--- a/src/server/game/Server/Packets/PetPackets.h
+++ b/src/server/game/Server/Packets/PetPackets.h
@@ -163,8 +163,7 @@ namespace WorldPackets
ObjectGuid PetGUID;
int32 PetNumber = 0;
std::string NewName;
- bool HasDeclinedNames = false;
- DeclinedName DeclinedNames;
+ Optional<DeclinedName> DeclinedNames;
};
class PetNameInvalid final : public ServerPacket
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index c11c85aaffa..59f18bc79b0 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -118,6 +118,7 @@ WorldSession::WorldSession(uint32 id, std::string&& name, uint32 battlenetAccoun
_battlenetAccountId(battlenetAccountId),
m_expansion(expansion),
_os(os),
+ _battlenetRequestToken(0),
_warden(NULL),
_logoutTime(0),
m_inQueue(false),