summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2012-06-24 23:56:55 +0200
committerNikita Popov <nikic@php.net>2012-06-24 23:56:55 +0200
commitad641950b3d047fc20729b7a18c62b414622cc79 (patch)
treea8936db00a083aee75e11dc1480767bf30adc668
parent36fa17a5fae84ab332366a202f0a709279a2466a (diff)
parent5b3f4d25ea047f14d6485fb6f456cece384d33ee (diff)
downloadphp-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.c4
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 */