* upstream/master: (101 commits)
Fixed Bug #62500 (Segfault in DateInterval class when extended)
Fixed test bug #62312 (warnings changed one more time)
fix valgrind warning
fix valgrind warning
fixed#62433 test for win
update NEWS
Fixed bug #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") returns false)
appease MSVC (doesnt like unary minus of unsigned ints)
appease MSVC (doesnt like unary minus of unsigned ints)
appease MSVC (doesnt like unary minus of unsigned ints)
- Fixed bug #62507 (['REQUEST_TIME'] under mod_php5 returns miliseconds instead of seconds)
Fixed Bug #62500 (Segfault in DateInterval class when extended)
Added in NEWS and UPGRADING for feature 55218
Fix two issues with run-tests.php
Fix potential integer overflow in nl2br
Fix potential integer overflow in bin2hex
This wil be PHP 5.3.16
Revert change 3f3ad30c50: There shouldn't be new features in 5.3, especially not if they aren't in 5.4, too.
fix (signed) integer overflow (part of bug #52550
fix (signed) integer overflow (part of bug #52550
...
* PHP-5.4:
update NEWS
Fixed bug #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") returns false)
appease MSVC (doesnt like unary minus of unsigned ints)
appease MSVC (doesnt like unary minus of unsigned ints)
The buffer size was calculated manually, thus creating integer overflows
for very large inputs, e.g. nl2br(str_repeat("\n", 613566757)).
The code now uses safe_emalloc, thus making the code throw an error
instead of crashing.
The code was already using safe_emalloc but did the multiplication in
the first argument, thus making the use of safe_emalloc pretty useless.
The *2 is now moved to the second argument.
Use salt_len_in instead of strlen(salt) or PHP_MAX_SALT_LEN, otherwise too
much memory will be allocated.
sha512 has a 86 character checksum, not 43. That probably was a copy&paste
from the sha256 code which indeed has 43.
The allocation also was using sizeof(char *), thus allocating 4 or 8 times
as much memory as necessary. The sizeof(char *) was removed in the 5.4
branch in b7a92c9 but forgotten on 5.3.
The memset 0 call was using PHP_MAX_SALT_LEN which can be smaller than the
output buffer and thus not zeroing out everything. Use the size of the
output buffer (needed) instead.