X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fcrypt%2Fcrypt_sha512.c;h=39970cafe87154ddddac5238d2ba3ff2c62859a5;hb=eeff60608c7aa65806c7c9f0ebddcf2520684ffa;hp=2c0de698f104265262c68f616c0469ea6cb3964e;hpb=b9bb8f67bbac9bab5314fb00974ad469476e936e;p=musl diff --git a/src/crypt/crypt_sha512.c b/src/crypt/crypt_sha512.c index 2c0de698..39970caf 100644 --- a/src/crypt/crypt_sha512.c +++ b/src/crypt/crypt_sha512.c @@ -136,7 +136,7 @@ static void sha512_init(struct sha512 *s) s->h[7] = 0x5be0cd19137e2179ULL; } -static void sha512_sum(struct sha512 *s, uint8_t md[20]) +static void sha512_sum(struct sha512 *s, uint8_t *md) { int i; @@ -174,7 +174,7 @@ static void sha512_update(struct sha512 *s, const void *m, unsigned long len) memcpy(s->buf, p, len); } -static unsigned char b64[] = +static const unsigned char b64[] = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; static char *to64(char *s, unsigned int u, int n) @@ -193,7 +193,7 @@ static char *to64(char *s, unsigned int u, int n) #define SALT_MAX 16 #define ROUNDS_DEFAULT 5000 #define ROUNDS_MIN 1000 -#define ROUNDS_MAX 20000 +#define ROUNDS_MAX 9999999 /* hash n bytes of the repeated md message digest */ static void hashmd(struct sha512 *s, unsigned int n, const void *md) @@ -252,7 +252,7 @@ static char *sha512crypt(const char *key, const char *setting, char *output) if (u < ROUNDS_MIN) r = ROUNDS_MIN; else if (u > ROUNDS_MAX) - r = ROUNDS_MAX; + return 0; else r = u; /* needed when rounds is zero prefixed or out of bounds */