aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Protocol
diff options
context:
space:
mode:
authordanik <danik.wow@gmail.com>2012-01-06 19:36:17 +0100
committerdanik <danik.wow@gmail.com>2012-01-06 19:36:17 +0100
commitb35f831f2b386685bb3eaaad340208e293ba16a7 (patch)
treedc14d8fe15519fdcc119a19c59ba2901b2dfb322 /src/server/game/Server/Protocol
parent803acccb0723143e95df107eaf04477c791702a4 (diff)
Core/PacketIO: Prevented excessive WhoOpcode spam - solves possible crash/lag method
Diffstat (limited to 'src/server/game/Server/Protocol')
-rwxr-xr-xsrc/server/game/Server/Protocol/Handlers/MiscHandler.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/MiscHandler.cpp b/src/server/game/Server/Protocol/Handlers/MiscHandler.cpp
index d828a866c49..d5d205279f7 100755
--- a/src/server/game/Server/Protocol/Handlers/MiscHandler.cpp
+++ b/src/server/game/Server/Protocol/Handlers/MiscHandler.cpp
@@ -169,6 +169,11 @@ void WorldSession::HandleWhoOpcode(WorldPacket & recv_data)
{
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_WHO Message");
+ time_t now = time(NULL);
+ if (now - timeLastWhoCommand < 5)
+ return;
+ else timeLastWhoCommand = now;
+
uint32 matchcount = 0;
uint32 level_min, level_max, racemask, classmask, zones_count, str_count;