From: Pekka Riikonen Date: Mon, 3 Dec 2001 09:31:41 +0000 (+0000) Subject: updates. X-Git-Tag: silc.toolkit.0.7~2 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=dcc2fb0d6a656ec2d568e2b7707cf9d5e9b1b0d9;p=silc.git updates. --- diff --git a/apps/silcd/command_reply.c b/apps/silcd/command_reply.c index 6bb87163..7d407edc 100644 --- a/apps/silcd/command_reply.c +++ b/apps/silcd/command_reply.c @@ -489,6 +489,9 @@ silc_server_command_reply_identify_save(SilcServerCommandReplyContext cmd) break; case SILC_ID_SERVER: + if (!name) + goto error; + server_id = silc_id_payload_get_id(idp); if (!server_id) goto error; @@ -524,25 +527,20 @@ silc_server_command_reply_identify_save(SilcServerCommandReplyContext cmd) break; case SILC_ID_CHANNEL: + if (!name) + goto error; + channel_id = silc_id_payload_get_id(idp); if (!channel_id) goto error; SILC_LOG_DEBUG(("Received channel information")); - if (name) { - channel = silc_idlist_find_channel_by_name(server->local_list, + channel = silc_idlist_find_channel_by_name(server->local_list, + name, NULL); + if (!channel) + channel = silc_idlist_find_channel_by_name(server->global_list, name, NULL); - if (!channel) - channel = silc_idlist_find_channel_by_name(server->global_list, - name, NULL); - } else { - channel = silc_idlist_find_channel_by_id(server->local_list, - channel_id, NULL); - if (!channel) - channel = silc_idlist_find_channel_by_id(server->global_list, - channel_id, NULL); - } if (!channel) { /* If router did not find such Channel ID in its lists then this must be bogus channel or some router in the net is buggy. */