From 365e13662e2afddd843ac0671a6afac0b538741c Mon Sep 17 00:00:00 2001 From: Simon Arlott Date: Thu, 24 Aug 2017 20:07:31 +0100 Subject: [PATCH] exit_unknown_client: don't delete servers from the client hash Outgoing servers are not added to the client hash until they reach IsServer() status, so if they're unknown when they exit then don't attempt to delete them. --- ircd/client.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ircd/client.c b/ircd/client.c index a4ee0cac..43e2e032 100644 --- a/ircd/client.c +++ b/ircd/client.c @@ -1383,7 +1383,8 @@ exit_unknown_client(struct Client *client_p, /* The local client originating the del_from_id_hash(source_p->id, source_p); del_from_hostname_hash(source_p->host, source_p); - del_from_client_hash(source_p->name, source_p); + if (!IsAnyServer(source_p)) + del_from_client_hash(source_p->name, source_p); remove_client_from_list(source_p); SetDead(source_p); rb_dlinkAddAlloc(source_p, &dead_list);