diff options
Diffstat (limited to 'src/userprocess.cpp')
| -rw-r--r-- | src/userprocess.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/userprocess.cpp b/src/userprocess.cpp index 2f11528f3..9ae68cbfd 100644 --- a/src/userprocess.cpp +++ b/src/userprocess.cpp @@ -341,8 +341,14 @@ void DoBackgroundUserStuff(time_t TIME) { CullList GlobalGoners; + size_t f = local_users.size(); + for (std::vector<userrec*>::iterator count2 = local_users.begin(); count2 != local_users.end(); count2++) { + /* GRONK */ + if (f != local_users.size()) + break; + /* Sanity checks for corrupted iterators (yes, really) */ userrec* curr = NULL; @@ -401,6 +407,10 @@ void DoBackgroundUserStuff(time_t TIME) curr->nping = TIME+curr->pingmax; } + /* GANK */ + if (f != local_users.size()) + break; + /* * We can flush the write buffer as the last thing we do, because if they * match any of the above conditions its no use flushing their buffer anyway. |
