summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2012-06-25 00:09:05 +0200
committerNikita Popov <nikic@php.net>2012-06-25 00:09:05 +0200
commitee8b9d5c6f7390a56b277b170e2e3baee5c74bf4 (patch)
tree32086d0dcdc79f1077758320e6a210da27e2e6c3 /ext
parentd68b614b09b984e915db50b72430db4e4731480c (diff)
parentad641950b3d047fc20729b7a18c62b414622cc79 (diff)
downloadphp-git-ee8b9d5c6f7390a56b277b170e2e3baee5c74bf4.tar.gz
Merge branch 'PHP-5.4'
* PHP-5.4: Fix memory allocation checks for base64 encode
Diffstat (limited to 'ext')
-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 */