version 1.1, 2012/02/21 23:48:02
|
version 1.1.1.3, 2013/07/22 01:32:04
|
Line 2
|
Line 2
|
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| PHP Version 5 | |
| PHP Version 5 | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| Copyright (c) 1997-2012 The PHP Group | | | Copyright (c) 1997-2013 The PHP Group | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| This source file is subject to version 3.01 of the PHP license, | |
| This source file is subject to version 3.01 of the PHP license, | |
| that is bundled with this package in the file LICENSE, and is | |
| that is bundled with this package in the file LICENSE, and is | |
Line 199 PHP_FUNCTION(crypt)
|
Line 199 PHP_FUNCTION(crypt)
|
char *output; |
char *output; |
int needed = (sizeof(sha512_salt_prefix) - 1 |
int needed = (sizeof(sha512_salt_prefix) - 1 |
+ sizeof(sha512_rounds_prefix) + 9 + 1 |
+ sizeof(sha512_rounds_prefix) + 9 + 1 |
+ strlen(salt) + 1 + 43 + 1); | + salt_in_len + 1 + 86 + 1); |
output = emalloc(needed * sizeof(char *)); | output = emalloc(needed); |
salt[salt_in_len] = '\0'; |
salt[salt_in_len] = '\0'; |
|
|
crypt_res = php_sha512_crypt_r(str, salt, output, needed); |
crypt_res = php_sha512_crypt_r(str, salt, output, needed); |
Line 214 PHP_FUNCTION(crypt)
|
Line 214 PHP_FUNCTION(crypt)
|
RETVAL_STRING(output, 1); |
RETVAL_STRING(output, 1); |
} |
} |
|
|
memset(output, 0, PHP_MAX_SALT_LEN + 1); | memset(output, 0, needed); |
efree(output); |
efree(output); |
} else if (salt[0]=='$' && salt[1]=='5' && salt[2]=='$') { |
} else if (salt[0]=='$' && salt[1]=='5' && salt[2]=='$') { |
const char sha256_salt_prefix[] = "$5$"; |
const char sha256_salt_prefix[] = "$5$"; |
Line 222 PHP_FUNCTION(crypt)
|
Line 222 PHP_FUNCTION(crypt)
|
char *output; |
char *output; |
int needed = (sizeof(sha256_salt_prefix) - 1 |
int needed = (sizeof(sha256_salt_prefix) - 1 |
+ sizeof(sha256_rounds_prefix) + 9 + 1 |
+ sizeof(sha256_rounds_prefix) + 9 + 1 |
+ strlen(salt) + 1 + 43 + 1); | + salt_in_len + 1 + 43 + 1); |
output = emalloc(needed * sizeof(char *)); | output = emalloc(needed); |
salt[salt_in_len] = '\0'; |
salt[salt_in_len] = '\0'; |
|
|
crypt_res = php_sha256_crypt_r(str, salt, output, needed); |
crypt_res = php_sha256_crypt_r(str, salt, output, needed); |
Line 237 PHP_FUNCTION(crypt)
|
Line 237 PHP_FUNCTION(crypt)
|
RETVAL_STRING(output, 1); |
RETVAL_STRING(output, 1); |
} |
} |
|
|
memset(output, 0, PHP_MAX_SALT_LEN + 1); | memset(output, 0, needed); |
efree(output); |
efree(output); |
} else if ( |
} else if ( |
salt[0] == '$' && |
salt[0] == '$' && |