PHP Release 5.2.10


PHP 5.2.10 Release Announcement

The PHP development team would like to announce the immediate availability of PHP 5.2.10. This release focuses on improving the stability of the PHP 5.2.x branch with over 100 bug fixes, one of which is security related. All users of PHP are encouraged to upgrade to this release.

Security Enhancements and Fixes in PHP 5.2.10:

  • Fixed bug #48378 (exif_read_data() segfaults on certain corrupted .jpeg files). (Pierre)

Key enhancements in PHP 5.2.10 include:

  • Added "ignore_errors" option to http fopen wrapper. (David Zulke, Sara)
  • Fixed memory corruptions while reading properties of zip files. (Ilia)
  • Fixed memory leak in ob_get_clean/ob_get_flush. (Christian)
  • Fixed segfault on invalid session.save_path. (Hannes)
  • Fixed leaks in imap when a mail_criteria is used. (Pierre)
  • Changed default value of array_unique()'s optional sorting type parameter back to SORT_STRING to fix backwards compatibility breakage introduced in PHP 5.2.9. (Moriyoshi)
  • Fixed bug #47940 (memory leaks in imap_body). (Pierre, Jake Levitt)
  • Fixed bug #47903 ("@" operator does not work with string offsets). (Felipe)
  • Fixed bug #47644 (Valid integers are truncated with json_decode()). (Scott)
  • Fixed bug #47564 (unpacking unsigned long 32bit big endian returns wrong result). (Ilia)
  • Fixed bug #47365 (ip2long() may allow some invalid values on certain 64bit systems).
  • Over 100 bug fixes.

For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.10.

For a full list of changes in PHP 5.2.10, see the ChangeLog.

Source Code
Change Logs
fixed bug #48336 (reflectionproperty
  • Fixed bug #48359 (Script hangs on snmprealwalk if OID is not increasing). (Ilia, simonov at gmail dot com) with redeclared property).
  • Fixed bug #48326 (constant MSG_DONTWAIT not defined).
  • Fixed bug #48313 (fgetcsv() does not return null for empty rows).
  • Fixed bug #48309 (stream_copy_to_stream() and fpasstru() do not update stream position of plain files).
  • Fixed bug #48307 (stream_copy_to_stream() copies 0 bytes when $source is a socket).
  • Fixed bug #48273 (snmp*_real_walk() returns SNMP errors as values).
  • Fixed bug #48256 (Crash due to double-linking of history.o).
  • Fixed bug #48248 (SIGSEGV when access to private property via &__get).
  • Fixed bug #48247 (Crash on errors during startup).
  • Fixed bug #48240 (DBA Segmentation fault dba_nextkey).
  • Fixed bug #48224 (Incorrect shuffle in array_rand).
  • Fixed bug #48221 (memory leak when passing invalid xslt parameter).
  • Fixed bug #48207 (CURLOPT_(FILE|WRITEHEADER options do not error out when working with a non-writable stream).
  • Fixed bug #48206 (Iterating over an invalid data structure with RecursiveIteratorIterator leads to a segfault).
  • Fixed bug #48204 (xmlwriter_open_uri() does not emit warnings on invalid paths).
  • Fixed bug #48203 (Crash when CURLOPT_STDERR is set to regular file).
  • Fixed bug #48202 (Out of Memory error message when passing invalid file path)
  • Fixed bug #48156 (Added support for lcov v1.7).
  • Fixed bug #48132 (configure check for curl ssl support fails with --disable-rpath).
  • Fixed bug #48131 (Don't try to bind ipv4 addresses to ipv6 ips via bindto).
fixed bug #48070 (pdo_oci
  • Fixed bug #48058 (Year formatter goes wrong with out-of-int range).
  • Fixed bug #48038 (odbc_execute changes variables used to form params array).
  • Fixed bug #47997 (stream_copy_to_stream returns 1 on empty streams).
  • Fixed bug #47991 (SSL streams fail if error stack contains items).
  • Fixed bug #47981 (error handler not called regardless).
  • Fixed bug #47969 (ezmlm_hash() returns different values depend on OS).
  • Fixed bug #47946 (ImageConvolution overwrites background).
  • Fixed bug #47940 (memory leaks in imap_body).
  • Fixed bug #47937 (system() calls sapi_flush() regardless of output buffering).
  • Fixed bug #47903 ("@" operator does not work with string offsets).
  • Fixed bug #47893 (CLI aborts on non blocking stdout).
  • Fixed bug #47849 (Non-deep import loses the namespace).
  • Fixed bug #47845 (PDO_Firebird omits first row from query).
  • Fixed bug #47836 (array operator [] inconsistency when the array has PHP_INT_MAX index value).
  • Fixed bug #47831 (Compile warning for strnlen() in main/spprintf.c).
  • Fixed bug #47828 (openssl_x509_parse() segfaults when a UTF-8 conversion fails).
  • Fixed bug #47818 (Segfault due to bound callback param).
fixed bug #47801 (__call() accessed via parent
  • Fixed bug #47769 (Strange extends PDO).
  • Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer).
  • Fixed bug #47721 (Alignment issues in mbstring and sysvshm extension).
  • Fixed bug #47704 (PHP crashes on some "bad" operations with string offsets).
  • Fixed bug #47695 (build error when xmlrpc and iconv are compiled against different iconv versions).
fixed bug #47667 (ziparchive
  • Fixed bug #47644 (Valid integers are truncated with json_decode()).
fixed bug #47639 (pg_copy_from() warning
  • Fixed bug #47616 (curl keeps crashing).
  • Fixed bug #47598 (FILTER_VALIDATE_EMAIL is locale aware).
  • Fixed bug #47566 (pcntl_wexitstatus() returns signed status).
  • Fixed bug #47564 (unpacking unsigned long 32bit bit endian returns wrong result).
  • Fixed bug #47487 (performance degraded when reading large chunks after fix of bug #44607).
  • Fixed bug #47468 (enable cli|cgi-only extensions for embed sapi).
  • Fixed bug #47435 (FILTER_FLAG_NO_PRIV_RANGE does not work with ipv6 addresses in the filter extension).
  • Fixed bug #47430 (Errors after writing to nodeValue parameter of an absent previousSibling).
  • Fixed bug #47365 (ip2long() may allow some invalid values on certain 64bit systems).
  • Fixed bug #47254 (Wrong Reflection for extends class).
  • Fixed bug #47042 (cgi sapi is incorrectly removing SCRIPT_FILENAME).
  • Fixed bug #46882 (Serialize / Unserialize misbehaviour under OS with different bit numbers).
  • Fixed bug #46812 (get_class_vars() does not include visible private variable looking at subclass).
  • Fixed bug #46386 (Digest authentication with SOAP module fails against MSSQL SOAP services).
fixed bug #46109 (memory leak when mysqli
  • Fixed bug #45997 (safe_mode bypass with exec/system/passthru (windows only)).
  • Fixed bug #45877 (Array key '2147483647' left as string).
  • Fixed bug #45822 (Near infinite-loops while parsing huge relative offsets).
  • Fixed bug #45799 (imagepng() crashes on empty image).
  • Fixed bug #45622 (isset($arrayObject->p) misbehaves with ArrayObject::ARRAY_AS_PROPS set).
fixed bug #45614 (arrayiterator
  • Fixed bug #45540 (stream_context_create creates bad http request).
  • Fixed bug #45202 (zlib.output_compression can not be set with ini_set()).
  • Fixed bug #45191 (error_log ignores date.timezone php.ini val when setting logging timestamps).
  • Fixed bug #45092 (header HTTP context option not being used when compiled using --with-curlwrappers).
  • Fixed bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime).
  • Fixed bug #44827 (define() is missing error checks for class constants).
  • Fixed bug #44214 (Crash using preg_replace_callback() and global variables).
  • Fixed bug #43073 (TrueType bounding box is wrong for angle<>0).
  • Fixed bug #42663 (gzinflate() try to allocate all memory with truncated data).
  • Fixed bug #42414 (some odbc_*() functions incompatible with Oracle ODBC driver).
  • Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped).
  • Fixed bug #42143 (The constant NAN is reported as 0 on Windows)
  • Fixed bug #38805 (PDO truncates text from SQL Server text data type field).
To Top