From 4d80611a1095ca5e7681b48878dceac3ac2e4011 Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 14 Jan 2014 16:31:45 +0100 Subject: Core/Chat: Fixed chat packets structure --- src/server/game/Handlers/ChatHandler.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/server/game/Handlers/ChatHandler.cpp') diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp index 58af17fe724..3250a5f4dbd 100644 --- a/src/server/game/Handlers/ChatHandler.cpp +++ b/src/server/game/Handlers/ChatHandler.cpp @@ -591,6 +591,9 @@ void WorldSession::HandleAddonMessagechatOpcode(WorldPacket& recvData) break; } + if (prefix.empty() || prefix.length() > 16) + return; + // Logging enabled? if (sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) { @@ -614,7 +617,7 @@ void WorldSession::HandleAddonMessagechatOpcode(WorldPacket& recvData) return; WorldPacket data; - ChatHandler::BuildChatPacket(data, type, LANG_ADDON, sender, NULL, message, 0U, "", DEFAULT_LOCALE, prefix.c_str()); + ChatHandler::BuildChatPacket(data, type, LANG_ADDON, sender, NULL, message, 0U, "", DEFAULT_LOCALE, prefix); group->BroadcastAddonMessagePacket(&data, prefix, false); break; } @@ -630,7 +633,7 @@ void WorldSession::HandleAddonMessagechatOpcode(WorldPacket& recvData) { if (!normalizePlayerName(targetName)) break; - Player* receiver = sObjectAccessor->FindPlayerByName(targetName.c_str()); + Player* receiver = sObjectAccessor->FindPlayerByName(targetName); if (!receiver) break; @@ -647,7 +650,7 @@ void WorldSession::HandleAddonMessagechatOpcode(WorldPacket& recvData) break; WorldPacket data; - ChatHandler::BuildChatPacket(data, type, LANG_ADDON, sender, NULL, message, 0U, "", DEFAULT_LOCALE, prefix.c_str()); + ChatHandler::BuildChatPacket(data, type, LANG_ADDON, sender, NULL, message, 0U, "", DEFAULT_LOCALE, prefix); group->BroadcastAddonMessagePacket(&data, prefix, true, -1, group->GetMemberGroup(sender->GetGUID())); break; } -- cgit v1.2.3