From: Skywing Date: Sat, 8 Nov 2008 23:46:02 +0000 (-0500) Subject: Don't delete packet stream X-Git-Tag: silc.toolkit.1.1.9~17^2~6 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=544d0faa279dc3a3ca8f635665bd2cb57e92342b Don't delete packet stream --- diff --git a/lib/silccore/silcpacket.c b/lib/silccore/silcpacket.c index f552ca6d..2f491acb 100644 --- a/lib/silccore/silcpacket.c +++ b/lib/silccore/silcpacket.c @@ -1108,19 +1108,21 @@ void silc_packet_stream_unlink(SilcPacketStream stream, silc_mutex_lock(stream->lock); - silc_dlist_start(stream->process); - while ((p = silc_dlist_get(stream->process)) != SILC_LIST_END) - if (p->callbacks == callbacks && - p->callback_context == callback_context) { - silc_dlist_del(stream->process, p); - silc_free(p->types); - silc_free(p); - break; - } + if (stream->process) { + silc_dlist_start(stream->process); + while ((p = silc_dlist_get(stream->process)) != SILC_LIST_END) + if (p->callbacks == callbacks && + p->callback_context == callback_context) { + silc_dlist_del(stream->process, p); + silc_free(p->types); + silc_free(p); + break; + } - if (!silc_dlist_count(stream->process)) { - silc_dlist_uninit(stream->process); - stream->process = NULL; + if (!silc_dlist_count(stream->process)) { + silc_dlist_uninit(stream->process); + stream->process = NULL; + } } silc_mutex_unlock(stream->lock);