summaryrefslogtreecommitdiff
path: root/src/users.cpp
diff options
context:
space:
mode:
authorattilamolnar <attilamolnar@hush.com>2013-04-28 00:32:14 +0200
committerattilamolnar <attilamolnar@hush.com>2013-04-28 00:32:14 +0200
commit8790551dc182cd8804ee7d8ef89ccb31067cc2a4 (patch)
treefa411b244ae8541e49eb126a9d15a7b5a13504db /src/users.cpp
parent021c09faff4be2e37fa86b0fe3e61707ffddab27 (diff)
parent9b96fee72a3720e6d12812243edb4192d0790b34 (diff)
Merge insp20
Diffstat (limited to 'src/users.cpp')
-rw-r--r--src/users.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/users.cpp b/src/users.cpp
index 623af7fe3..cdc6beed2 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -416,6 +416,7 @@ void UserIOHandler::OnDataReady()
ServerInstance->Users->QuitUser(user, "RecvQ exceeded");
ServerInstance->SNO->WriteToSnoMask('a', "User %s RecvQ of %lu exceeds connect class maximum of %lu",
user->nick.c_str(), (unsigned long)recvq.length(), user->MyClass->GetRecvqMax());
+ return;
}
unsigned long sendqmax = ULONG_MAX;
if (!user->HasPrivPermission("users/flood/increased-buffers"))
@@ -506,6 +507,8 @@ CullResult LocalUser::cull()
// is only a precaution currently.
if (localuseriter != ServerInstance->Users->local_users.end())
ServerInstance->Users->local_users.erase(localuseriter);
+ else
+ ServerInstance->Logs->Log("USERS", LOG_DEFAULT, "ERROR: LocalUserIter does not point to a valid entry for " + this->nick);
ClearInvites();
eh.cull();
@@ -786,6 +789,12 @@ void User::InvalidateCache()
bool User::ChangeNick(const std::string& newnick, bool force)
{
+ if (quitting)
+ {
+ ServerInstance->Logs->Log("USERS", LOG_DEFAULT, "ERROR: Attempted to change nick of a quitting user: " + this->nick);
+ return false;
+ }
+
ModResult MOD_RESULT;
if (force)