From 4b9d650c54169380262b1e0c9cb671ed056da5fc Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Thu, 19 Jan 2012 01:33:44 +0100 Subject: [PATCH] when flushing a node, check whether we have a context before dereferencing the pointer. this happens in cases where we decide not to talk to this node early. --- citadel/modules/network/serv_networkclient.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/citadel/modules/network/serv_networkclient.c b/citadel/modules/network/serv_networkclient.c index 63c6e6541..647ec6ed6 100644 --- a/citadel/modules/network/serv_networkclient.c +++ b/citadel/modules/network/serv_networkclient.c @@ -135,8 +135,10 @@ void DeleteNetworker(void *vptr) FreeStrBuf(&NW->port); FreeStrBuf(&NW->secret); FreeStrBuf(&NW->Url); - ((struct CitContext*)NW->IO.CitContext)->state = CON_IDLE; - ((struct CitContext*)NW->IO.CitContext)->kill_me = 1; + if (NW->IO.CitContext != NULL) { + ((struct CitContext*)NW->IO.CitContext)->state = CON_IDLE; + ((struct CitContext*)NW->IO.CitContext)->kill_me = 1; + } FreeAsyncIOContents(&NW->IO); free(NW); } -- 2.30.2