From: Pekka Riikonen Date: Sun, 24 Aug 2003 11:35:39 +0000 (+0000) Subject: Check for disconncting/disconnected socket in lookup/HB routines. X-Git-Tag: silc.toolkit.0.9.10~44 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=4d8348909167a755bf3d3792a433554612d7b636;p=silc.git Check for disconncting/disconnected socket in lookup/HB routines. --- diff --git a/lib/silcutil/silcsockconn.c b/lib/silcutil/silcsockconn.c index 6817c5da..a4942248 100644 --- a/lib/silcutil/silcsockconn.c +++ b/lib/silcutil/silcsockconn.c @@ -103,6 +103,10 @@ SILC_TASK_CALLBACK(silc_socket_heartbeat) if (!hb->heartbeat) return; + if (SILC_IS_DISCONNECTING(hb->sock) || + SILC_IS_DISCONNECTED(hb->sock)) + return; + if (hb->hb_callback) hb->hb_callback(hb->sock, hb->hb_context); @@ -250,6 +254,10 @@ void silc_socket_host_lookup(SilcSocketConnection sock, SILC_LOG_DEBUG(("Performing async host lookup")); + if (SILC_IS_DISCONNECTING(sock) || + SILC_IS_DISCONNECTED(sock)) + return; + lookup = silc_calloc(1, sizeof(*lookup)); lookup->sock = silc_socket_dup(sock); /* Increase reference counter */ lookup->callback = callback;