X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilcclient%2Fclient_channel.c;h=7dd4f0a6ad59a23572262fb48970de4decda3616;hp=4fcfb08c214c2667785f1767f8a372c045254f25;hb=HEAD;hpb=65bb39eb3f473859544469c209b6371e230ac9a2 diff --git a/lib/silcclient/client_channel.c b/lib/silcclient/client_channel.c index 4fcfb08c..7dd4f0a6 100644 --- a/lib/silcclient/client_channel.c +++ b/lib/silcclient/client_channel.c @@ -68,8 +68,11 @@ SilcBool silc_client_send_channel_message(SilcClient client, if (silc_unlikely(!client || !conn || !channel)) return FALSE; - if (silc_unlikely(flags & SILC_MESSAGE_FLAG_SIGNED && !hash)) + if (silc_unlikely(flags & SILC_MESSAGE_FLAG_SIGNED && !hash)) { + SILC_LOG_ERROR(("Cannot send signed message without hash, missing " + "arguments")); return FALSE; + } if (silc_unlikely(conn->internal->disconnected)) return FALSE; @@ -647,8 +650,14 @@ SilcBool silc_client_del_channel_private_keys(SilcClient client, } channel->internal.curr_key = NULL; - channel->cipher = silc_cipher_get_name(channel->internal.send_key); - channel->hmac = silc_hmac_get_name(channel->internal.hmac); + if (channel->internal.send_key) + channel->cipher = silc_cipher_get_name(channel->internal.send_key); + else + channel->cipher = NULL; + if (channel->internal.hmac) + channel->hmac = silc_hmac_get_name(channel->internal.hmac); + else + channel->hmac = NULL; silc_dlist_uninit(channel->internal.private_keys); channel->internal.private_keys = NULL;