X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcclient%2Fcommand.c;h=bdb818f5f0ca2a0997910c70a2ab331288abeec4;hb=d0e6c7e3852954020d35a37e4e98d89b220cc733;hp=90ca482a5f25a2c5874ad9c8f26f856a5c5f5071;hpb=afa44ad8575dcfdca880f0a09ceb43bfe5098c6a;p=silc.git diff --git a/lib/silcclient/command.c b/lib/silcclient/command.c index 90ca482a..bdb818f5 100644 --- a/lib/silcclient/command.c +++ b/lib/silcclient/command.c @@ -389,18 +389,19 @@ SILC_CLIENT_CMD_FUNC(nick) goto out; } + if (cmd->argv_lens[1] > 128) + cmd->argv_lens[1] = 128; + /* Set new nickname */ - buffer = silc_command_payload_encode(SILC_COMMAND_NICK, - cmd->argc - 1, ++cmd->argv, - ++cmd->argv_lens, ++cmd->argv_types, + buffer = silc_command_payload_encode(SILC_COMMAND_NICK, 1, + &cmd->argv[1], + &cmd->argv_lens[1], + &cmd->argv_types[1], ++cmd->conn->cmd_ident); silc_client_packet_send(cmd->client, cmd->conn->sock, SILC_PACKET_COMMAND, NULL, 0, NULL, NULL, buffer->data, buffer->len, TRUE); silc_buffer_free(buffer); - cmd->argv--; - cmd->argv_lens--; - cmd->argv_types--; if (conn->nickname) silc_free(conn->nickname); conn->nickname = strdup(cmd->argv[1]); @@ -977,6 +978,9 @@ SILC_CLIENT_CMD_FUNC(join) idp = silc_id_payload_encode(conn->local_id, SILC_ID_CLIENT); + if (cmd->argv_lens[1] > 256) + cmd->argv_lens[1] = 256; + /* Send JOIN command to the server */ if (cmd->argc == 2) buffer =