Forráskód Böngészése

* Fix password length discrepencies / off-by-1 problems in cmd_chpass and cmd_nopass (fixes #436)

Bryan Drewery 17 éve
szülő
commit
0a4721f875
2 módosított fájl, 4 hozzáadás és 3 törlés
  1. 1 0
      doc/UPDATES
  2. 3 3
      src/cmds.c

+ 1 - 0
doc/UPDATES

@@ -18,6 +18,7 @@
 * Remove pscloak feature, it was too malicious, pointless and stupid.
 * Fix cmd_botset not setting default/global value on leaf bots when clearing a var (fixes #389)
 * Fix cmd_pls_chan causing bots to reset a channels settings when it already existed.
+* Fix password length discrepencies / off-by-1 problems in cmd_chpass and cmd_nopass (fixes #436)
 
 1.2.16 - http://wraith.botpack.net/milestone/1.2.16
 * Add 'set altchars' so that alternative characters used for nicks can be changed. (fixes #418)

+ 3 - 3
src/cmds.c

@@ -1239,7 +1239,7 @@ static void cmd_chpass(int idx, char *par)
     dprintf(idx, "Removed password.\n");
   } else {
     bool good = 0, randpass = 0;
-    char *newpass = newsplit(&par), pass[MAXPASSLEN] = "";
+    char *newpass = newsplit(&par), pass[MAXPASSLEN + 1] = "";
     size_t l = strlen(newpass);
 
     if (l > MAXPASSLEN)
@@ -1255,7 +1255,7 @@ static void cmd_chpass(int idx, char *par)
       }
     }
     if (strlen(pass) > MAXPASSLEN)
-      pass[MAXPASSLEN - 1] = 0;
+      pass[MAXPASSLEN] = 0;
 
     if (good) {
       set_user(&USERENTRY_PASS, u, pass);
@@ -3183,7 +3183,7 @@ static void cmd_nopass(int idx, char *par)
 {
   int cnt = 0;
   struct userrec *cu = NULL;
-  char *users = (char *) my_calloc(1, 1), pass[MAXPASSLEN] = "";
+  char *users = (char *) my_calloc(1, 1), pass[MAXPASSLEN + 1] = "";
   size_t userssiz = 1;
   bool dopass = 0;