Переглянути джерело

* Misc cleanup of pass_match code

Bryan Drewery 17 роки тому
батько
коміт
5bf70d45e0
1 змінених файлів з 8 додано та 8 видалено
  1. 8 8
      src/userrec.c

+ 8 - 8
src/userrec.c

@@ -326,24 +326,24 @@ int u_pass_match(struct userrec *u, char *in)
 
   convert_password(u);
 
-  char *cmp = (char *) get_user(&USERENTRY_PASS, u), pass[MAXPASSLEN + 1] = "";
+  const char *cmp = (const char *) get_user(&USERENTRY_PASS, u);
 
-  strlcpy(pass, in, sizeof(pass));
-
-  if (!cmp && (!pass[0] || (pass[0] == '-')))
+  if (!cmp && (!in[0] || (in[0] == '-')))
     return 1;
-  if (!cmp || !pass[0] || (pass[0] == '-'))
+  if (!cmp || !in[0] || (in[0] == '-'))
     return 0;
   if (u->bot) {
-    if (!strcmp(cmp, pass))
+    if (!strcmp(cmp, in))
       return 1;
   } else {
-    char *newpass = NULL;
+    char pass[MAXPASSLEN + 1] = "";
+
+    strlcpy(pass, in, sizeof(pass));
 
     if (strlen(pass) > MAXPASSLEN)
       pass[MAXPASSLEN] = 0;
     /* Pass the salted pass in so the same salt can be used */
-    newpass = encrypt_pass(u, pass, cmp);
+    char* newpass = encrypt_pass(u, pass, cmp);
     if (!strcmp(cmp, newpass)) {
       free(newpass);
       return 1;