From fa950a554aa1ed4c94b41833a2b9440d6ff9e42a Mon Sep 17 00:00:00 2001 From: Dehravor Date: Fri, 25 Apr 2014 22:59:22 +0200 Subject: Core/WorldSocket: Fix crash when CMSG_AUTH_SESSION contains modified addon size value --- src/server/game/Server/WorldSocket.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index 161fd61796f..737a2f8cbf1 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -835,8 +835,12 @@ int WorldSocket::HandleAuthSession(WorldPacket& recvPacket) recvPacket >> digest[13]; recvPacket >> addonSize; - addonsData.resize(addonSize); - recvPacket.read((uint8*)addonsData.contents(), addonSize); + + if (addonSize) + { + addonsData.resize(addonSize); + recvPacket.read((uint8*)addonsData.contents(), addonSize); + } recvPacket.ReadBit(); uint32 accountNameLength = recvPacket.ReadBits(12); -- cgit v1.2.3