]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/client.c
Init_Server_Struct(): correctly zero Server->bind_addr
[ngircd-alex.git] / src / ngircd / client.c
index 0f151ac8685469f83a8807682a72ddfd32a7ac9b..16c551f97a89b422bf356465f45b0cc85a522e11 100644 (file)
@@ -864,8 +864,13 @@ Client_CheckNick(CLIENT *Client, char *Nick)
        assert(Nick != NULL);
 
        if (!Client_IsValidNick(Nick)) {
-               IRC_WriteStrClient(Client, ERR_ERRONEUSNICKNAME_MSG,
-                                  Client_ID(Client), Nick);
+               if (strlen(Nick ) >= Conf_MaxNickLength)
+                       IRC_WriteStrClient(Client, ERR_NICKNAMETOOLONG_MSG,
+                                          Client_ID(Client), Nick,
+                                          Conf_MaxNickLength - 1);
+               else
+                       IRC_WriteStrClient(Client, ERR_ERRONEUSNICKNAME_MSG,
+                                          Client_ID(Client), Nick);
                return false;
        }