diff options
author | Nikita Popov <nikic@php.net> | 2012-06-24 23:56:55 +0200 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2012-06-24 23:56:55 +0200 |
commit | ad641950b3d047fc20729b7a18c62b414622cc79 (patch) | |
tree | a8936db00a083aee75e11dc1480767bf30adc668 | |
parent | 36fa17a5fae84ab332366a202f0a709279a2466a (diff) | |
parent | 5b3f4d25ea047f14d6485fb6f456cece384d33ee (diff) | |
download | php-git-ad641950b3d047fc20729b7a18c62b414622cc79.tar.gz |
Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
Fix memory allocation checks for base64 encode
-rw-r--r-- | ext/standard/base64.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/standard/base64.c b/ext/standard/base64.c index 9e9c36250c..d78cb244c5 100644 --- a/ext/standard/base64.c +++ b/ext/standard/base64.c @@ -59,14 +59,14 @@ PHPAPI unsigned char *php_base64_encode(const unsigned char *str, int length, in unsigned char *p; unsigned char *result; - if ((length + 2) < 0 || ((length + 2) / 3) >= (1 << (sizeof(int) * 8 - 2))) { + if (length < 0) { if (ret_length != NULL) { *ret_length = 0; } return NULL; } - result = (unsigned char *)safe_emalloc(((length + 2) / 3) * 4, sizeof(char), 1); + result = (unsigned char *) safe_emalloc((length + 2) / 3, 4 * sizeof(char), 1); p = result; while (length > 2) { /* keep going until we have less than 24 bits */ |