aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Server/Packets/AuthenticationPackets.cpp2
-rw-r--r--src/server/game/Server/WorldSocket.cpp28
2 files changed, 20 insertions, 10 deletions
diff --git a/src/server/game/Server/Packets/AuthenticationPackets.cpp b/src/server/game/Server/Packets/AuthenticationPackets.cpp
index b66345d9338..e5755b0539c 100644
--- a/src/server/game/Server/Packets/AuthenticationPackets.cpp
+++ b/src/server/game/Server/Packets/AuthenticationPackets.cpp
@@ -53,7 +53,7 @@ bool WorldPackets::Auth::EarlyProcessClientPacket::ReadNoThrow()
Read();
return true;
}
- catch (ByteBufferPositionException const& /*ex*/)
+ catch (ByteBufferException const& /*ex*/)
{
}
diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp
index 5df8e8853cb..6d5c44c6e40 100644
--- a/src/server/game/Server/WorldSocket.cpp
+++ b/src/server/game/Server/WorldSocket.cpp
@@ -159,18 +159,28 @@ void WorldSocket::InitializeHandler(boost::system::error_code error, std::size_t
return;
}
- ByteBuffer buffer(std::move(_packetBuffer));
- std::string initializer = buffer.ReadString(ClientConnectionInitialize.length());
- if (initializer != ClientConnectionInitialize)
+ try
{
- CloseSocket();
- return;
- }
+ ByteBuffer buffer(std::move(_packetBuffer));
+ std::string initializer = buffer.ReadString(ClientConnectionInitialize.length());
+ if (initializer != ClientConnectionInitialize)
+ {
+ CloseSocket();
+ return;
+ }
- uint8 terminator;
- buffer >> terminator;
- if (terminator != '\n')
+ uint8 terminator;
+ buffer >> terminator;
+ if (terminator != '\n')
+ {
+ CloseSocket();
+ return;
+ }
+ }
+ catch (ByteBufferException const& ex)
{
+ TC_LOG_ERROR("network", "WorldSocket::InitializeHandler ByteBufferException %s occured while parsing initial packet from ",
+ ex.what(), GetRemoteIpAddress().to_string().c_str());
CloseSocket();
return;
}