- The big forward port. I probably broke lots of stuff, so please look over any
[ircu2.10.12-pk.git] / ircd / m_account.c
index f5615e5360f909be92af44a3214384cf27b8ab87..aa795ed8a09dafafd0968907a6287a4a4f9b092d 100644 (file)
@@ -120,8 +120,13 @@ int ms_account(struct Client* cptr, struct Client* sptr, int parc,
 
   assert(0 == cli_user(acptr)->account[0]);
 
+  if (strlen(parv[2]) > ACCOUNTLEN)
+    return protocol_violation(cptr,
+                              "Received account (%s) longer than %d for %s; "
+                              "ignoring.",
+                              parv[2], ACCOUNTLEN, cli_name(acptr));
   ircd_strncpy(cli_user(acptr)->account, parv[2], ACCOUNTLEN);
-  hide_hostmask(acptr, FLAGS_ACCOUNT);
+  hide_hostmask(acptr, FLAG_ACCOUNT);
 
   sendcmdto_serv_butone(sptr, CMD_ACCOUNT, cptr, "%C %s", acptr,
                        cli_user(acptr)->account);