diff --git a/src/server/game/Handlers/ChannelHandler.cpp b/src/server/game/Handlers/ChannelHandler.cpp index 59fc409e1..81ebac075 100644 --- a/src/server/game/Handlers/ChannelHandler.cpp +++ b/src/server/game/Handlers/ChannelHandler.cpp @@ -9,6 +9,7 @@ #include "Player.h" #include +#include "utf8.h" void WorldSession::HandleJoinChannel(WorldPacket& recvPacket) { @@ -40,7 +41,7 @@ void WorldSession::HandleJoinChannel(WorldPacket& recvPacket) // pussywizard: restrict allowed characters in channel name to avoid |0 and possibly other exploits //if (!ObjectMgr::IsValidChannelName(channelName)) - if (channelName.find("|") != std::string::npos || channelName.size() >= 100) + if (channelName.find("|") != std::string::npos || channelName.size() >= 100 || !utf8::is_valid(channelName.begin(), channelName.end())) return; if (ChannelMgr* cMgr = ChannelMgr::forTeam(GetPlayer()->GetTeamId()))