Explorar o código

* Define SHA1_SALTED_LEN and SHA1_SALT_LEN

Bryan Drewery %!s(int64=17) %!d(string=hai) anos
pai
achega
743de11806
Modificáronse 2 ficheiros con 5 adicións e 2 borrados
  1. 2 2
      src/crypt.c
  2. 3 0
      src/crypt.h

+ 2 - 2
src/crypt.c

@@ -140,7 +140,7 @@ char *salted_sha1(const char *in, const char* saltin)
 
 
   /* Create a 5 byte salt */
-  char salt[6] = "";
+  char salt[SHA1_SALT_LEN + 1] = "";
   if (saltin) {
     strlcpy(salt, saltin, sizeof(salt));
   } else {
@@ -151,7 +151,7 @@ char *salted_sha1(const char *in, const char* saltin)
   simple_snprintf(buf, sizeof(buf), STR("%s%s"), salt, in);
   tmp = SHA1(buf);
 
-  ret_size = 1 + (sizeof(salt) - 1) + 1 + SHA_HASH_LENGTH + 1;
+  ret_size = SHA1_SALTED_LEN + 1;
   ret = (char *) my_calloc(1, ret_size);
   simple_snprintf(ret, ret_size, STR("+%s$%s"), salt, tmp);
 

+ 3 - 0
src/crypt.h

@@ -14,6 +14,9 @@
 #define SHA_HASH_LENGTH (SHA_DIGEST_LENGTH << 1)
 #define MD5_HASH_LENGTH (MD5_DIGEST_LENGTH << 1)
 
+#define SHA1_SALT_LEN 5
+#define SHA1_SALTED_LEN (1 + SHA1_SALT_LEN + 1 + SHA_HASH_LENGTH)
+
 char *MD5(const char *);
 int md5cmp(const char *, const char*);
 char *MD5FILE(const char *);