diff options
author | Leigh <leigh@php.net> | 2016-07-07 15:32:38 +0100 |
---|---|---|
committer | Leigh <leigh@php.net> | 2016-07-07 15:32:38 +0100 |
commit | be3640150cb2f88d38a8d405b2bf708f04be39ef (patch) | |
tree | b0c3e3fec6b99a3606704ff3583ea2076f2297b6 | |
parent | 69e7d8dcd5ccfbd4e46cdf502e7e8b0f3aa339bc (diff) | |
download | php-git-be3640150cb2f88d38a8d405b2bf708f04be39ef.tar.gz |
Fix crypt salt not being converted to b64
-rw-r--r-- | ext/standard/crypt.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c index 3604e19b02..9e097ca6cf 100644 --- a/ext/standard/crypt.c +++ b/ext/standard/crypt.c @@ -96,11 +96,10 @@ PHP_MSHUTDOWN_FUNCTION(crypt) /* {{{ */ static unsigned char itoa64[] = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; -static void php_to64(char *s, zend_long v, int n) /* {{{ */ +static void php_to64(char *s, int n) /* {{{ */ { while (--n >= 0) { - *s++ = itoa64[v&0x3f]; - v >>= 6; + *s++ = itoa64[*s&0x3f]; } } /* }}} */ @@ -265,6 +264,7 @@ PHP_FUNCTION(crypt) if (!*salt) { strncpy(salt, "$1$", 3); php_random_bytes_throw(&salt[3], 8); + php_to64(&salt[3], 8); strncpy(&salt[11], "$", PHP_MAX_SALT_LEN - 11); salt_in_len = strlen(salt); } else { |