aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2017-01-28 01:27:39 -0300
committerariel- <ariel-@users.noreply.github.com>2017-01-28 01:27:39 -0300
commit6f9e8b6c9174249025562faf9ad4c56bbb642547 (patch)
tree83eaf8c9bb1fbebb225d9b2dd614dfa9d0da68e7 /src
parentb955456008191e60b6bda1f22e3486a3792b08db (diff)
Core: add some missing Player Name normalization on input data
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Chat/Chat.cpp2
-rw-r--r--src/server/game/Handlers/CalendarHandler.cpp3
-rw-r--r--src/server/game/Handlers/GroupHandler.cpp14
-rw-r--r--src/server/scripts/Commands/cs_ban.cpp14
4 files changed, 22 insertions, 11 deletions
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp
index abc5f520deb..518d9c816ae 100644
--- a/src/server/game/Chat/Chat.cpp
+++ b/src/server/game/Chat/Chat.cpp
@@ -1238,7 +1238,7 @@ bool ChatHandler::GetPlayerGroupAndGUIDByName(char const* cname, Player*& player
{
if (!normalizePlayerName(name))
{
- PSendSysMessage(LANG_PLAYER_NOT_FOUND);
+ SendSysMessage(LANG_PLAYER_NOT_FOUND);
SetSentErrorMessage(true);
return false;
}
diff --git a/src/server/game/Handlers/CalendarHandler.cpp b/src/server/game/Handlers/CalendarHandler.cpp
index c2c4b912eba..3b51170a49b 100644
--- a/src/server/game/Handlers/CalendarHandler.cpp
+++ b/src/server/game/Handlers/CalendarHandler.cpp
@@ -432,6 +432,9 @@ void WorldSession::HandleCalendarEventInvite(WorldPacket& recvData)
recvData >> eventId >> inviteId >> name >> isPreInvite >> isGuildEvent;
+ if (!normalizePlayerName(name))
+ return;
+
if (Player* player = ObjectAccessor::FindConnectedPlayerByName(name))
{
// Invitee is online
diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp
index 05b39c4788a..c94c4dfce4e 100644
--- a/src/server/game/Handlers/GroupHandler.cpp
+++ b/src/server/game/Handlers/GroupHandler.cpp
@@ -588,6 +588,9 @@ void WorldSession::HandleGroupChangeSubGroupOpcode(WorldPacket& recvData)
recvData >> name;
recvData >> groupNr;
+ if (!normalizePlayerName(name))
+ return;
+
if (groupNr >= MAX_RAID_SUBGROUPS)
return;
@@ -598,17 +601,14 @@ void WorldSession::HandleGroupChangeSubGroupOpcode(WorldPacket& recvData)
if (!group->HasFreeSlotSubGroup(groupNr))
return;
- Player* movedPlayer = ObjectAccessor::FindConnectedPlayerByName(name);
ObjectGuid guid;
- if (movedPlayer)
- {
+ if (Player* movedPlayer = ObjectAccessor::FindConnectedPlayerByName(name))
guid = movedPlayer->GetGUID();
- }
else
- {
- CharacterDatabase.EscapeString(name);
guid = sWorld->GetCharacterGuidByName(name);
- }
+
+ if (guid.IsEmpty())
+ return;
group->ChangeMembersGroup(guid, groupNr);
}
diff --git a/src/server/scripts/Commands/cs_ban.cpp b/src/server/scripts/Commands/cs_ban.cpp
index c9373d7237c..798ae06cc8c 100644
--- a/src/server/scripts/Commands/cs_ban.cpp
+++ b/src/server/scripts/Commands/cs_ban.cpp
@@ -294,16 +294,24 @@ public:
if (!*args)
return false;
- Player* target = ObjectAccessor::FindPlayerByName(args);
- ObjectGuid::LowType targetGuid = 0;
std::string name(args);
+ if (!normalizePlayerName(name))
+ {
+ handler->SendSysMessage(LANG_BANINFO_NOCHARACTER);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
+ Player* target = ObjectAccessor::FindPlayerByName(name);
+ ObjectGuid::LowType targetGuid = 0;
if (!target)
{
ObjectGuid fullGuid = sWorld->GetCharacterGuidByName(name);
if (fullGuid.IsEmpty())
{
- handler->PSendSysMessage(LANG_BANINFO_NOCHARACTER);
+ handler->SendSysMessage(LANG_BANINFO_NOCHARACTER);
+ handler->SetSentErrorMessage(true);
return false;
}