From c2a39ce36ab41f56cce6f9b31de7835c5f90bd82 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 12 Oct 2014 15:32:25 +0200 Subject: Core/PacketIO: Let packets that have a handler in array through to worldsession update --- src/server/game/Server/WorldSocket.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index 15f311b5d10..bff343bdcb1 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -215,13 +215,16 @@ bool WorldSocket::ReadDataHandler() // prevent invalid memory access/crash with custom opcodes if (opcode >= NUM_OPCODE_HANDLERS) + { + CloseSocket(); return false; + } OpcodeHandler const* handler = opcodeTable[opcode]; - if (!handler || handler->Status == STATUS_UNHANDLED) + if (!handler) { TC_LOG_ERROR("network.opcode", "No defined handler for opcode %s sent by %s", GetOpcodeNameForLogging(packet.GetOpcode()).c_str(), _worldSession->GetPlayerInfo().c_str()); - return false; + return true; } // Our Idle timer will reset on any non PING opcodes. -- cgit v1.2.3