From 544d0faa279dc3a3ca8f635665bd2cb57e92342b Mon Sep 17 00:00:00 2001 From: Skywing Date: Sat, 8 Nov 2008 18:46:02 -0500 Subject: [PATCH] Don't delete packet stream --- lib/silccore/silcpacket.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) 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); -- 2.24.0