From df9bd50866a1ee95db78b88090aae74e245ad469 Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Fri, 22 May 2015 18:49:20 +0200 Subject: Fix some oversights --- src/usermanager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/usermanager.cpp') diff --git a/src/usermanager.cpp b/src/usermanager.cpp index 4ebc3b583..3e5fee3fc 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -320,9 +320,11 @@ void UserManager::DoBackgroundUserStuff() /* * loop over all local users.. */ - for (LocalList::iterator i = local_users.begin(); i != local_users.end(); ++i) + for (LocalList::iterator i = local_users.begin(); i != local_users.end(); ) { + // It's possible that we quit the user below due to ping timeout etc. and QuitUser() removes it from the list LocalUser* curr = *i; + ++i; if (curr->CommandFloodPenalty || curr->eh.getSendQSize()) { -- cgit v1.3.1-10-gc9f91