X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcull_list.cpp;h=ddbf6acae8e7d12980c3efeb8a5f69e2418d92d2;hb=813bc55a8496875cef52e6da42d608e4d2fa35da;hp=77451b47b22cd3e7dc347f51d2ba8227ca682b1e;hpb=110d053f8c7cf704a2ef642cb092ed76a8d54b0d;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/cull_list.cpp b/src/cull_list.cpp index 77451b47b..ddbf6acae 100644 --- a/src/cull_list.cpp +++ b/src/cull_list.cpp @@ -104,33 +104,26 @@ int CullList::Apply() { if (!u->quietquit) { - ServerInstance->SNO->WriteToSnoMask('q',"Client exiting: %s!%s@%s [%s]",u->nick.c_str(),u->ident.c_str(),u->host,oper_reason.c_str()); + ServerInstance->SNO->WriteToSnoMask('q',"Client exiting: %s!%s@%s [%s]", u->nick.c_str(), u->ident.c_str(), u->host.c_str(), oper_reason.c_str()); } } else { if ((!ServerInstance->SilentULine(u->server)) && (!u->quietquit)) { - ServerInstance->SNO->WriteToSnoMask('Q',"Client exiting on server %s: %s!%s@%s [%s]",u->server,u->nick.c_str(),u->ident.c_str(),u->host,oper_reason.c_str()); + ServerInstance->SNO->WriteToSnoMask('Q',"Client exiting on server %s: %s!%s@%s [%s]", u->server, u->nick.c_str(), u->ident.c_str(), u->host.c_str(), oper_reason.c_str()); } } u->AddToWhoWas(); } - bool deleteu = true; - if (iter != ServerInstance->Users->clientlist->end()) { ServerInstance->Users->clientlist->erase(iter); } else { - /* - * Trying to track down Jason's issue.. this should never happen obviously. - */ - ServerInstance->Logs->Log("CULLLIST", DEBUG, "iter == clientlist->end, can't remove them from hash... problematic?"); -// deleteu = false; -// actually, delete them anyway.. the local vector is the real problem here + ServerInstance->Logs->Log("CULLLIST", DEBUG, "iter == clientlist->end, can't remove them from hash... problematic.."); } if (IS_LOCAL(u)) @@ -140,22 +133,11 @@ int CullList::Apply() ServerInstance->Users->local_users.erase(x); else { - /* - * This code is in here to monitor an issue of Jason's, where it seems to be trying to quit already quit users. - * The only way that can happen is if this find fails, so log it just in case. - * Also, (perhaps incorrectly, but oh well), return here so we don't delete the user and then start trampling - * on deleted memory, which leads to big problems.. - */ - ServerInstance->Logs->Log("CULLLIST", DEBUG, "Failed to remove user from vector, we're all gonna die!!! Not deleting the user to save our sanity"); - deleteu = false; + ServerInstance->Logs->Log("CULLLIST", DEBUG, "Failed to remove user from vector.."); } } - if (deleteu) - { - delete u; - } - + delete u; list.erase(list.begin()); }