summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2012-06-29 13:15:35 +0200
committerNikita Popov <nikic@php.net>2012-06-29 13:15:35 +0200
commitd86b6ea35c5e0afefb373979cb743098178a0a07 (patch)
tree390f293b3d545fb3ef886905f1e0dc389a0a6aef
parent8992da245136a2ef697fb2911cbf138910150d08 (diff)
parente6cf7d774519300c08399cae5bfba90e33749727 (diff)
downloadphp-git-d86b6ea35c5e0afefb373979cb743098178a0a07.tar.gz
Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3: Fix some lengths in crypt() Conflicts: ext/standard/crypt.c
-rw-r--r--ext/standard/crypt.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c
index 3ade86a068..27a8d82d0e 100644
--- a/ext/standard/crypt.c
+++ b/ext/standard/crypt.c
@@ -199,7 +199,7 @@ PHP_FUNCTION(crypt)
char *output;
int needed = (sizeof(sha512_salt_prefix) - 1
+ sizeof(sha512_rounds_prefix) + 9 + 1
- + PHP_MAX_SALT_LEN + 1 + 43 + 1);
+ + salt_in_len + 1 + 86 + 1);
output = emalloc(needed);
salt[salt_in_len] = '\0';
@@ -214,7 +214,7 @@ PHP_FUNCTION(crypt)
RETVAL_STRING(output, 1);
}
- memset(output, 0, PHP_MAX_SALT_LEN + 1);
+ memset(output, 0, needed);
efree(output);
} else if (salt[0]=='$' && salt[1]=='5' && salt[2]=='$') {
const char sha256_salt_prefix[] = "$5$";
@@ -222,7 +222,7 @@ PHP_FUNCTION(crypt)
char *output;
int needed = (sizeof(sha256_salt_prefix) - 1
+ sizeof(sha256_rounds_prefix) + 9 + 1
- + PHP_MAX_SALT_LEN + 1 + 43 + 1);
+ + salt_in_len + 1 + 43 + 1);
output = emalloc(needed);
salt[salt_in_len] = '\0';
@@ -237,7 +237,7 @@ PHP_FUNCTION(crypt)
RETVAL_STRING(output, 1);
}
- memset(output, 0, PHP_MAX_SALT_LEN + 1);
+ memset(output, 0, needed);
efree(output);
} else if (
salt[0] == '$' &&