diff options
| author | Nikita Popov <nikic@php.net> | 2012-06-25 00:09:05 +0200 |
|---|---|---|
| committer | Nikita Popov <nikic@php.net> | 2012-06-25 00:09:05 +0200 |
| commit | ee8b9d5c6f7390a56b277b170e2e3baee5c74bf4 (patch) | |
| tree | 32086d0dcdc79f1077758320e6a210da27e2e6c3 /ext | |
| parent | d68b614b09b984e915db50b72430db4e4731480c (diff) | |
| parent | ad641950b3d047fc20729b7a18c62b414622cc79 (diff) | |
| download | php-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.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 */ |
