From dcc2fb0d6a656ec2d568e2b7707cf9d5e9b1b0d9 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Mon, 3 Dec 2001 09:31:41 +0000 Subject: [PATCH] updates. --- apps/silcd/command_reply.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) 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. */ -- 2.43.0