diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-04-08 18:07:59 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-06-10 16:20:54 +0200 |
commit | 88b6d75bcedb6c8ede88715c7c3b23e3eeb682f4 (patch) | |
tree | 755e56fc9423429f5f881c3ecfb06bb14e6cf337 /src | |
parent | c8e26e1962395ef14004dd4beb1b3b75e0e6d228 (diff) |
Core/PacketIO: Require valid WorldSession for CMSG_KEEP_ALIVE
(cherry picked from commit de4340af37d9af403b42fff7129bb39693a021b6)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Server/WorldSocket.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index f8a42b65916..35e87c0e86f 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -433,8 +433,12 @@ WorldSocket::ReadDataHandlerResult WorldSocket::ReadDataHandler() sessionGuard.lock(); LogOpcodeText(opcode, sessionGuard); if (_worldSession) + { _worldSession->ResetTimeOutTime(true); - break; + 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_LOG_DISCONNECT: LogOpcodeText(opcode, sessionGuard); packet.rfinish(); // contains uint32 disconnectReason; |