aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-04-08 18:07:59 +0200
committerShauren <shauren.trinity@gmail.com>2022-04-08 18:07:59 +0200
commitde4340af37d9af403b42fff7129bb39693a021b6 (patch)
tree5339f2347ad7a1ba8ea4157c3806d30f09773ac6
parent09204159f856a89e397bfadfbafd8fb3603302e5 (diff)
Core/PacketIO: Require valid WorldSession for CMSG_KEEP_ALIVE
-rw-r--r--src/server/game/Server/WorldSocket.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp
index 9dd27515792..7de97d54a4a 100644
--- a/src/server/game/Server/WorldSocket.cpp
+++ b/src/server/game/Server/WorldSocket.cpp
@@ -346,9 +346,12 @@ WorldSocket::ReadDataHandlerResult WorldSocket::ReadDataHandler()
sessionGuard.lock();
LogOpcodeText(opcode, sessionGuard);
if (_worldSession)
+ {
_worldSession->ResetTimeOutTime(true);
- return ReadDataHandlerResult::Ok;
-
+ return ReadDataHandlerResult::Ok;
+ }
+ TC_LOG_ERROR("network", "WorldSocket::ReadDataHandler: client %s sent CMSG_KEEP_ALIVE without being authenticated", GetRemoteIpAddress().to_string().c_str());
+ return ReadDataHandlerResult::Error;
case CMSG_TIME_SYNC_RESP:
packetToQueue = new WorldPacket(std::move(packet), std::chrono::steady_clock::now());
break;