X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fserver_util.c;h=274bd0f58b483bbefbbe4bd2baf06740056f30f3;hb=a939f27e19b8084ef2acd25156b19d26d1440ace;hp=d9fc0ffc952ad07ca7afa6dff5603f101390b555;hpb=da798b47cf2734868609f6563b73386335fa1f76;p=silc.git diff --git a/apps/silcd/server_util.c b/apps/silcd/server_util.c index d9fc0ffc..274bd0f5 100644 --- a/apps/silcd/server_util.c +++ b/apps/silcd/server_util.c @@ -228,6 +228,7 @@ SilcBool silc_server_remove_clients_by_server(SilcServer server, client->mode = 0; client->router = NULL; client->connection = NULL; + silc_dlist_del(server->expired_clients, client); silc_dlist_add(server->expired_clients, client); } else { silc_idlist_del_data(client); @@ -289,6 +290,7 @@ SilcBool silc_server_remove_clients_by_server(SilcServer server, client->mode = 0; client->router = NULL; client->connection = NULL; + silc_dlist_del(server->expired_clients, client); silc_dlist_add(server->expired_clients, client); } else { silc_idlist_del_data(client); @@ -2107,6 +2109,8 @@ SilcBuffer silc_server_get_channel_pk_list(SilcServer server, silc_hash_table_list(channel->channel_pubkeys, &htl); while (silc_hash_table_get(&htl, NULL, (void *)&pk)) { pkp = silc_public_key_payload_encode(pk); + if (!pkp) + continue; list = silc_argument_payload_encode_one(list, pkp->data, silc_buffer_len(pkp), announce ? 0x03 :