From d2a4981ab2f661d6a80d7aa07420ad230baf0a3d Mon Sep 17 00:00:00 2001 From: Simon Arlott Date: Thu, 12 May 2016 10:06:31 +0100 Subject: [PATCH] client: call authd_abort_client with the client that is exiting, not the originator --- ircd/client.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/ircd/client.c b/ircd/client.c index 31f9e663..d33aa13e 100644 --- a/ircd/client.c +++ b/ircd/client.c @@ -1354,10 +1354,18 @@ exit_remote_client(struct Client *client_p, struct Client *source_p, struct Clie */ static int -exit_unknown_client(struct Client *client_p, struct Client *source_p, struct Client *from, - const char *comment) +exit_unknown_client(struct Client *client_p, /* The local client originating the + * exit or NULL, if this exit is + * generated by this server for + * internal reasons. + * This will not get any of the + * generated messages. */ + struct Client *source_p, /* Client exiting */ + struct Client *from, /* Client firing off this Exit, + * never NULL! */ + const char *comment) { - authd_abort_client(client_p); + authd_abort_client(source_p); rb_dlinkDelete(&source_p->localClient->tnode, &unknown_list); if(!IsIOError(source_p))