From: Pekka Riikonen Date: Sat, 9 Jun 2001 09:53:43 +0000 (+0000) Subject: udpates. X-Git-Tag: robodoc-323~205 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=ba4ebe66a826ed8cb2d423b4ee0de994298c3d04;p=silc.git udpates. --- diff --git a/CHANGES b/CHANGES index 2d784a57..8b3e0adf 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,8 @@ +Sat Jun 9 12:51:27 EEST 2001 Pekka Riikonen + + * silc_server_whois_send_reply crashed the server if the nickname + was 127 characters long. Affected file silcd/command.c. + Thu Jun 7 16:29:56 EEST 2001 Pekka Riikonen * Added sanity check to the silc_server_new_client. If the hostname diff --git a/apps/silcd/command.c b/apps/silcd/command.c index 8e835507..bca269c1 100644 --- a/apps/silcd/command.c +++ b/apps/silcd/command.c @@ -537,7 +537,7 @@ silc_server_command_whois_send_reply(SilcServerCommandContext cmd, SilcClientEntry entry; SilcCommandStatus status; uint16 ident = silc_command_get_ident(cmd->payload); - char nh[128], uh[128]; + char nh[256], uh[256]; unsigned char idle[4], mode[4]; SilcSocketConnection hsock; diff --git a/apps/silcd/packet_receive.c b/apps/silcd/packet_receive.c index 1600f0b5..b69b083e 100644 --- a/apps/silcd/packet_receive.c +++ b/apps/silcd/packet_receive.c @@ -1323,6 +1323,9 @@ SilcClientEntry silc_server_new_client(SilcServer server, return NULL; } + if (strlen(username) > 128) + username[127] = '\0'; + nickname = strdup(username); /* Make sanity checks for the hostname of the client. If the hostname @@ -1407,9 +1410,6 @@ SilcClientEntry silc_server_new_client(SilcServer server, silc_id_create_client_id(server->id, server->rng, server->md5hash, username, &client_id); - if (strlen(username) > 128) - username[127] = '\0'; - /* Update client entry */ idata->registered = TRUE; client->nickname = nickname;