X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fpacket_receive.c;h=c8d4068d765b444754a4dc29c7301099d95cca14;hb=a939f27e19b8084ef2acd25156b19d26d1440ace;hp=c2c57ed75dee74d14173c59de6f14cb51fc26b0b;hpb=ee4396c2b0129375d07aadb3f63af668c67d490d;p=silc.git diff --git a/apps/silcd/packet_receive.c b/apps/silcd/packet_receive.c index c2c57ed7..c8d4068d 100644 --- a/apps/silcd/packet_receive.c +++ b/apps/silcd/packet_receive.c @@ -356,6 +356,7 @@ static void silc_server_notify_process(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); break; @@ -1504,6 +1505,7 @@ static void silc_server_notify_process(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); break; } @@ -2145,7 +2147,7 @@ SilcClientEntry silc_server_new_client(SilcServer server, if (silc_buffer_unformat(buffer, SILC_STR_UI16_NSTRING_ALLOC(&nickname, &nickname_len), - SILC_STR_END)) { + SILC_STR_END) >= 0) { if (nickname_len > 128) { nickname_len = 128; nickname[nickname_len - 1] = '\0'; @@ -3951,6 +3953,7 @@ void silc_server_resume_client(SilcServer server, detached_client->data.status |= SILC_IDLIST_STATUS_RESUMED; detached_client->data.status &= ~SILC_IDLIST_STATUS_LOCAL; silc_dlist_del(server->expired_clients, detached_client); + silc_dlist_del(server->expired_clients, detached_client); /* Check if anyone is watching this client */ if (server->server_type == SILC_ROUTER)