aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Handlers/ChannelHandler.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/server/game/Handlers/ChannelHandler.cpp b/src/server/game/Handlers/ChannelHandler.cpp
index efa2d54a65d..06ee4207d3a 100755
--- a/src/server/game/Handlers/ChannelHandler.cpp
+++ b/src/server/game/Handlers/ChannelHandler.cpp
@@ -24,14 +24,17 @@ void WorldSession::HandleJoinChannel(WorldPacket& recvPacket)
sLog->outDebug(LOG_FILTER_NETWORKIO, "Opcode %u", recvPacket.GetOpcode());
uint32 channelId;
- uint8 unknown1, unknown2;
+ uint32 channelLength, passLength;
std::string channelName, pass;
recvPacket >> channelId;
- recvPacket >> unknown1 >> unknown2;
- recvPacket >> pass;
- recvPacket >> channelName;
-
+ recvPacket.ReadBit(); // unknowns
+ recvPacket.ReadBit();
+ channelLength = recvPacket.ReadBits(8);
+ passLength = recvPacket.ReadBits(8);
+ channelName = recvPacket.ReadString(channelLength);
+ pass = recvPacket.ReadString(passLength);
+
if (channelId)
{
ChatChannelsEntry const* channel = sChatChannelsStore.LookupEntry(channelId);