diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-06-06 09:16:59 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-06-06 09:16:59 +0200 |
| commit | 8396dabdad65fbe86c525584e38ccfacde85f9f1 (patch) | |
| tree | fd91aa475c92e825c1ddf99b7d09406b2f6ce62e /src/server/game/Handlers/PetHandler.cpp | |
| parent | d59bba3c5dcc0915247c86c4b89f0325b2af97be (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/Handlers/PetHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/PetHandler.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
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()); } |
