]> jfr.im git - solanum.git/commit - ircd/listener.c
listener: use exit_client instead of free_client
authorSimon Arlott <sa.me.uk>
Sun, 20 Nov 2016 20:43:53 +0000 (20:43 +0000)
committerSimon Arlott <sa.me.uk>
Sun, 20 Nov 2016 21:09:07 +0000 (21:09 +0000)
commit50b1e5987c6e2a8e0623b84995328c67bfdeff57
tree33dab4a00fb23d29799491951da0d7fd369438ec
parent4381284e72d90194a7a092f2730ed318f0de0caf
listener: use exit_client instead of free_client

As well as leaking a connid and leaving the connection open,
these calls to free_client() leave the client in the unknown_list
causing check_unknowns_list() to crash when either ptr->data
(ptr being the freed client_p->localClient->tnode) is NULL or
when client_p->localClient is NULL.

Flag the client as an IO error so that we don't try to send it
any data (as this is not a normal plaintext connection).
include/client.h
ircd/client.c
ircd/listener.c