From 88b6d75bcedb6c8ede88715c7c3b23e3eeb682f4 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 8 Apr 2022 18:07:59 +0200 Subject: Core/PacketIO: Require valid WorldSession for CMSG_KEEP_ALIVE (cherry picked from commit de4340af37d9af403b42fff7129bb39693a021b6) --- src/server/game/Server/WorldSocket.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') 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; -- cgit v1.2.3