1PHP NEWS 2||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 3?? ??? ????, PHP 7.2.35 4 5 601 Oct 2020, PHP 7.2.34 7 8- Core: 9 . Fixed bug #79699 (PHP parses encoded cookie names so malicious `__Host-` 10 cookies can be sent). (CVE-2020-7070) (Stas) 11 12- OpenSSL: 13 . Fixed bug #79601 (Wrong ciphertext/tag in AES-CCM encryption for a 12 14 bytes IV). (CVE-2020-7069) (Jakub Zelenka) 15 1606 Aug 2020, PHP 7.2.33 17 18- Core: 19 . Fixed bug #79877 (getimagesize function silently truncates after a null 20 byte) (cmb) 21 22- Phar: 23 . Fixed bug #79797 (Use of freed hash key in the phar_parse_zipfile 24 function). (CVE-2020-7068) (cmb) 25 2609 Jul 2020, PHP 7.2.32 27 28- Core: 29 . No source changes to this release. 30 Vesion number added for reproduction of Windows builds. (cmb) 31 3214 May 2020, PHP 7.2.31 33 34- Core: 35 . Fixed bug #78875 (Long filenames cause OOM and temp files are not cleaned). 36 (CVE-2019-11048) (cmb) 37 . Fixed bug #78876 (Long variables in multipart/form-data cause OOM and temp 38 files are not cleaned). (CVE-2019-11048) (cmb) 39 4016 Apr 2020, PHP 7.2.30 41 42- Standard: 43 . Fixed bug #79468 (SIGSEGV when closing stream handle with a stream filter 44 appended). (dinosaur) 45 . Fixed bug #79330 (shell_exec() silently truncates after a null byte). (stas) 46 . Fixed bug #79465 (OOB Read in urldecode()). (stas) 47 4819 Mar 2020, PHP 7.2.29 49 50- EXIF: 51 . Fixed bug #79282 (Use-of-uninitialized-value in exif). (CVE-2020-7064) 52 (Nikita) 53 54- Standard: 55 . Fixed bug #79329 (get_headers() silently truncates after a null byte) 56 (CVE-2020-7066). (cmb) 57 5820 Feb 2020, PHP 7.2.28 59 60- DOM: 61 . Fixed bug #77569: (Write Access Violation in DomImplementation). (Nikita, 62 cmb) 63 64- Phar: 65 . Fixed bug #79082 (Files added to tar with Phar::buildFromIterator have 66 all-access permissions). (CVE-2020-7063) (stas) 67 68- Session: 69 . Fixed bug #79221 (Null Pointer Dereference in PHP Session Upload Progress). 70 (CVE-2020-7062) (stas) 71 7223 Jan 2020, PHP 7.2.27 73 74- Mbstring: 75 . Fixed bug #79037 (global buffer-overflow in `mbfl_filt_conv_big5_wchar`). 76 (CVE-2020-7060) (Nikita) 77 78- Session: 79 . Fixed bug #79091 (heap use-after-free in session_create_id()). (cmb, Nikita) 80 81- Standard: 82 . Fixed bug #79099 (OOB read in php_strip_tags_ex). (CVE-2020-7059). (cmb) 83 8418 Dec 2019, PHP 7.2.26 85 86- Bcmath: 87 . Fixed bug #78878 (Buffer underflow in bc_shift_addsub). (CVE-2019-11046). 88 (cmb) 89 90- Core: 91 . Fixed bug #78862 (link() silently truncates after a null byte on Windows). 92 (CVE-2019-11044). (cmb) 93 . Fixed bug #78863 (DirectoryIterator class silently truncates after a null 94 byte). (CVE-2019-11045). (cmb) 95 96- EXIF: 97 . Fixed bug #78793 (Use-after-free in exif parsing under memory sanitizer). 98 (CVE-2019-11050). (Nikita) 99 . Fixed bug #78910 (Heap-buffer-overflow READ in exif). (CVE-2019-11047). 100 (Nikita) 101 102- GD: 103 . Fixed bug #78849 (GD build broken with -D SIGNED_COMPARE_SLOW). (cmb) 104 105- Intl: 106 . Fixed bug #78804 (Segmentation fault in Locale::filterMatches). (Stas) 107 108- OPcache: 109 . Fixed $x = (bool)$x; with opcache (should emit undeclared variable notice). 110 (Tyson Andre) 111 112- Standard: 113 . Fixed bug #78759 (array_search in $GLOBALS). (Nikita) 114 . Fixed bug #78833 (Integer overflow in pack causes out-of-bound access). 115 (cmb) 116 . Fixed bug #78814 (strip_tags allows / in tag name => whitelist bypass). 117 (cmb) 118 11921 Nov 2019, PHP 7.2.25 120 121- Core: 122 . Fixed bug #78656 (Parse errors classified as highest log-level). (Erik 123 Lundin) 124 . Fixed bug #78752 (Segfault if GC triggered while generator stack frame is 125 being destroyed). (Nikita) 126 . Fixed bug #78689 (Closure::fromCallable() doesn't handle 127 [Closure, '__invoke']). (Nikita) 128 129- COM: 130 . Fixed bug #78694 (Appending to a variant array causes segfault). (cmb) 131 132- Date: 133 . Fixed bug #70153 (\DateInterval incorrectly unserialized). (Maksim Iakunin) 134 . Fixed bug #78751 (Serialising DatePeriod converts DateTimeImmutable). (cmb) 135 136- Iconv: 137 . Fixed bug #78642 (Wrong libiconv version displayed). (gedas at martynas, 138 cmb). 139 140- OpCache: 141 . Fixed bug #78654 (Incorrectly computed opcache checksum on files with 142 non-ascii characters). (mhagstrand) 143 . Fixed bug #78747 (OpCache corrupts custom extension result). (Nikita) 144 145- OpenSSL: 146 . Fixed bug #78775 (TLS issues from HTTP request affecting other encrypted 147 connections). (Nikita) 148 149- Reflection: 150 . Fixed bug #78697 (ReflectionClass::ImplementsInterface - inaccurate error 151 message with traits). (villfa) 152 153- Sockets: 154 . Fixed bug #78665 (Multicasting may leak memory). (cmb) 155 15624 Oct 2019, PHP 7.2.24 157 158- Core: 159 . Fixed bug #78535 (auto_detect_line_endings value not parsed as bool). 160 (bugreportuser) 161 . Fixed bug #78620 (Out of memory error). (cmb, Nikita) 162 163- Exif: 164 . Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7) 165 (Kalle) 166 167- FPM: 168 . Fixed bug #78599 (env_path_info underflow in fpm_main.c can lead to RCE). 169 (CVE-2019-11043) (Jakub Zelenka) 170 171- MBString: 172 . Fixed bug #78579 (mb_decode_numericentity: args number inconsistency). 173 (cmb) 174 . Fixed bug #78609 (mb_check_encoding() no longer supports stringable 175 objects). (cmb) 176 177- MySQLi: 178 . Fixed bug #76809 (SSL settings aren't respected when persistent connections 179 are used). (fabiomsouto) 180 181- PDO_MySQL: 182 . Fixed bug #78623 (Regression caused by "SP call yields additional empty 183 result set"). (cmb) 184 185- Session: 186 . Fixed bug #78624 (session_gc return value for user defined session 187 handlers). (bshaffer) 188 189- Standard: 190 . Fixed bug #76342 (file_get_contents waits twice specified timeout). 191 (Thomas Calvet) 192 . Fixed bug #78612 (strtr leaks memory when integer keys are used and the 193 subject string shorter). (Nikita) 194 . Fixed bug #76859 (stream_get_line skips data if used with data-generating 195 filter). (kkopachev) 196 197- Zip: 198 . Fixed bug #78641 (addGlob can modify given remove_path value). (cmb) 199 20026 Sep 2019, PHP 7.2.23 201 202- Core: 203 . Fixed bug #78220 (Can't access OneDrive folder). (cmb, ab) 204 . Fixed bug #78412 (Generator incorrectly reports non-releasable $this as GC 205 child). (Nikita) 206 207- FastCGI: 208 . Fixed bug #78469 (FastCGI on_accept hook is not called when using named 209 pipes on Windows). (Sergei Turchanov) 210 211- MySQLnd: 212 . Fixed connect_attr issues and added the _server_host connection attribute. 213 (Qianqian Bu) 214 215- ODBC: 216 . Fixed bug #78473 (odbc_close() closes arbitrary resources). (cmb) 217 218- PDO_MySQL: 219 . Fixed bug #41997 (SP call yields additional empty result set). (cmb) 220 221- sodium: 222 . Fixed bug #78510 (Partially uninitialized buffer returned by 223 sodium_crypto_generichash_init()). (Frank Denis, cmb) 224 225- SPL: 226 . Fixed bug #72884 (SplObject isCloneable() returns true but errs on clone). 227 (Chu Zhaowei) 228 22929 Aug 2019, PHP 7.2.22 230 231- Core: 232 . Fixed bug #78363 (Buffer overflow in zendparse). (Nikita) 233 . Fixed bug #78379 (Cast to object confuses GC, causes crash). (Dmitry) 234 235- Curl: 236 . Fixed bug #77946 (Bad cURL resources returned by curl_multi_info_read()). 237 (Abyr Valg) 238 239- Exif: 240 . Fixed bug #78333 (Exif crash (bus error) due to wrong alignment and 241 invalid cast). (Nikita) 242 243- Iconv: 244 . Fixed bug #78342 (Bus error in configure test for iconv //IGNORE). (Rainer 245 Jung) 246 247- LiteSpeed: 248 . Updated to LiteSpeed SAPI V7.5 (Fixed clean shutdown). (George Wang) 249 250- MySQLnd: 251 . Fixed bug #78179 (MariaDB server version incorrectly detected). (cmb) 252 253- Opcache: 254 . Fixed bug #77191 (Assertion failure in dce_live_ranges() when silencing is 255 used). (Nikita) 256 257- Standard: 258 . Fixed bug #69100 (Bus error from stream_copy_to_stream (file -> SSL stream) 259 with invalid length). (Nikita) 260 . Fixed bug #78282 (atime and mtime mismatch). (cmb) 261 . Fixed bug #78326 (improper memory deallocation on stream_get_contents() 262 with fixed length buffer). (Albert Casademont) 263 26401 Aug 2019, PHP 7.2.21 265 266- Date: 267 . Fixed bug #69044 (discrepency between time and microtime). (krakjoe) 268 269- EXIF: 270 . Fixed bug #78256 (heap-buffer-overflow on exif_process_user_comment). 271 (CVE-2019-11042) (Stas) 272 . Fixed bug #78222 (heap-buffer-overflow on exif_scan_thumbnail). 273 (CVE-2019-11041) (Stas) 274 275- Fileinfo: 276 . Fixed bug #78183 (finfo_file shows wrong mime-type for .tga file). 277 (Joshua Westerheide) 278 279- FTP: 280 . Fixed bug #77124 (FTP with SSL memory leak). (Nikita) 281 282- Libxml: 283 . Fixed bug #78279 (libxml_disable_entity_loader settings is shared between 284 requests (cgi-fcgi)). (Nikita) 285 286- LiteSpeed: 287 . Updated to LiteSpeed SAPI V7.4.3 (increased response header count limit from 288 100 to 1000, added crash handler to cleanly shutdown PHP request, added 289 CloudLinux mod_lsapi mode). (George Wang) 290 . Fixed bug #76058 (After "POST data can't be buffered", using php://input 291 makes huge tmp files). (George Wang) 292 293- Openssl: 294 . Fixed bug #78231 (Segmentation fault upon stream_socket_accept of exported 295 socket-to-stream). (Nikita) 296 297- OPcache: 298 . Fixed bug #78189 (file cache strips last character of uname hash). (cmb) 299 . Fixed bug #78202 (Opcache stats for cache hits are capped at 32bit NUM). 300 (cmb) 301 . Fixed bug #78291 (opcache_get_configuration doesn't list all directives). 302 (Andrew Collington) 303 304- Phar: 305 . Fixed bug #77919 (Potential UAF in Phar RSHUTDOWN). (cmb) 306 307- Phpdbg: 308 . Fixed bug #78297 (Include unexistent file memory leak). (Nikita) 309 310- PDO_Sqlite: 311 . Fixed bug #78192 (SegFault when reuse statement after schema has changed). 312 (Vincent Quatrevieux) 313 314- SQLite: 315 . Upgraded to SQLite 3.28.0. (cmb) 316 317- Standard: 318 . Fixed bug #78241 (touch() does not handle dates after 2038 in PHP 64-bit). 319 (cmb) 320 . Fixed bug #78269 (password_hash uses weak options for argon2). (Remi) 321 322- XMLRPC: 323 . Fixed bug #78173 (XML-RPC mutates immutable objects during encoding). 324 (Asher Baker) 325 32604 Jul 2019, PHP 7.2.20 327 328- Core: 329 . Fixed bug #76980 (Interface gets skipped if autoloader throws an exception). 330 (Nikita) 331 332- DOM: 333 . Fixed bug #78025 (segfault when accessing properties of DOMDocumentType). 334 (cmb) 335 336- MySQLi: 337 . Fixed bug #77956 (When mysqli.allow_local_infile = Off, use a meaningful 338 error message). (Sjon Hortensius) 339 . Fixed bug #38546 (bindParam incorrect processing of bool types). 340 (camporter) 341 342- Opcache: 343 . Fixed bug #78106 (Path resolution fails if opcache disabled during request). 344 (Nikita) 345 . Fixed bug #78185 (File cache no longer works). (Dmitry) 346 347- OpenSSL: 348 . Fixed bug #78079 (openssl_encrypt_ccm.phpt fails with OpenSSL 1.1.1c). 349 (Jakub Zelenka) 350 351- Sockets: 352 . Fixed bug #78038 (Socket_select fails when resource array contains 353 references). (Nikita) 354 355- Standard: 356 . Fixed bug #77135 (Extract with EXTR_SKIP should skip $this). 357 (Craig Duncan, Dmitry) 358 . Fixed bug ##77937 (preg_match failed). (cmb, Anatol) 359 360- Zip: 361 . Fixed bug #76345 (zip.h not found). (Michael Maroszek) 362 36330 May 2019, PHP 7.2.19 364 365- Date: 366 . Fixed bug #77909 (DatePeriod::__construct() with invalid recurrence count 367 value). (Ignace Nyamagana Butera) 368 369- EXIF: 370 . Fixed bug #77988 (heap-buffer-overflow on php_jpg_get16). 371 (CVE-2019-11040) (Stas) 372 373- FPM: 374 . Fixed bug #77934 (php-fpm kill -USR2 not working). (Jakub Zelenka) 375 . Fixed bug #77921 (static.php.net doesn't work anymore). (Peter Kokot) 376 377- GD: 378 . Fixed bug #77943 (imageantialias($image, false); does not work). (cmb) 379 . Fixed bug #77973 (Uninitialized read in gdImageCreateFromXbm). 380 (CVE-2019-11038) (cmb) 381 382- Iconv: 383 . Fixed bug #78069 (Out-of-bounds read in iconv.c:_php_iconv_mime_decode() 384 due to integer overflow). (CVE-2019-11039). (maris dot adam) 385 386- JSON: 387 . Fixed bug #77843 (Use after free with json serializer). (Nikita) 388 389- Opcache: 390 . Fixed possible crashes, because of inconsistent PCRE cache and opcache 391 SHM reset. (Alexey Kalinin, Dmitry) 392 393- PDO_MySQL: 394 . Fixed bug #77944 (Wrong meta pdo_type for bigint on LLP64). (cmb) 395 396- Reflection: 397 . Fixed bug #75186 (Inconsistent reflection of Closure:::__invoke()). (Nikita) 398 399- Session: 400 . Fixed bug #77911 (Wrong warning for session.sid_bits_per_character). (cmb) 401 402- SPL: 403 . Fixed bug #77024 (SplFileObject::__toString() may return array). (Craig 404 Duncan) 405 406- SQLite: 407 . Fixed bug #77967 (Bypassing open_basedir restrictions via file uris). (Stas) 408 40902 May 2019, PHP 7.2.18 410 411- CLI: 412 . Fixed bug #77794 (Incorrect Date header format in built-in server). 413 (kelunik) 414 415- EXIF 416 . Fixed bug #77950 (Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG). 417 (CVE-2019-11036) (Stas) 418 419- Interbase: 420 . Fixed bug #72175 (Impossibility of creating multiple connections to 421 Interbase with php 7.x). (Nikita) 422 423- Intl: 424 . Fixed bug #77895 (IntlDateFormatter::create fails in strict mode if $locale 425 = null). (Nikita) 426 427- litespeed: 428 . LiteSpeed SAPI 7.3.1, better process management, new API function 429 litespeed_finish_request(). (George Wang) 430 431- Mail 432 . Fixed bug #77821 (Potential heap corruption in TSendMail()). (cmb) 433 434- PCRE: 435 . Fixed bug #77827 (preg_match does not ignore \r in regex flags). (requinix, 436 cmb) 437 438- PDO: 439 . Fixed bug #77849 (Disable cloning of PDO handle/connection objects). 440 (camporter) 441 442- phpdbg: 443 . Fixed bug #76801 (too many open files). (alekitto) 444 . Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints). 445 (krakjoe) 446 . Fixed bug #77805 (phpdbg build fails when readline is shared). (krakjoe) 447 448- Reflection: 449 . Fixed bug #77772 (ReflectionClass::getMethods(null) doesn't work). (Nikita) 450 . Fixed bug #77882 (Different behavior: always calls destructor). (Nikita) 451 452- SOAP: 453 . Fixed bug #77945 (Segmentation fault when constructing SoapClient with 454 WSDL_CACHE_BOTH). (Nikita) 455 456- Standard: 457 . Fixed bug #77680 (recursive mkdir on ftp stream wrapper is incorrect). 458 (Vlad Temian) 459 . Fixed bug #77844 (Crash due to null pointer in parse_ini_string with 460 INI_SCANNER_TYPED). (Nikita) 461 . Fixed bug #77853 (Inconsistent substr_compare behaviour with empty 462 haystack). (Nikita) 463 46404 Apr 2019, PHP 7.2.17 465 466- Core: 467 . Fixed bug #77738 (Nullptr deref in zend_compile_expr). (Laruence) 468 . Fixed bug #77660 (Segmentation fault on break 2147483648). (Laruence) 469 . Fixed bug #77652 (Anonymous classes can lose their interface information). 470 (Nikita) 471 . Fixed bug #77676 (Unable to run tests when building shared extension on 472 AIX). (Kevin Adler) 473 474- Bcmath: 475 . Fixed bug #77742 (bcpow() implementation related to gcc compiler 476 optimization). (Nikita) 477 478- COM: 479 . Fixed bug #77578 (Crash when php unload). (cmb) 480 481- Date: 482 . Fixed bug #50020 (DateInterval:createDateFromString() silently fails). 483 (Derick) 484 . Fixed bug #75113 (Added DatePeriod::getRecurrences() method). (Ignace 485 Nyamagana Butera) 486 487- EXIF: 488 . Fixed bug #77753 (Heap-buffer-overflow in php_ifd_get32s). (CVE-2019-11034) 489 (Stas) 490 . Fixed bug #77831 (Heap-buffer-overflow in exif_iif_add_value). 491 (CVE-2019-11035) (Stas) 492 493- FPM: 494 . Fixed bug #77677 (FPM fails to build on AIX due to missing WCOREDUMP). 495 (Kevin Adler) 496 497- GD: 498 . Fixed bug #77700 (Writing truecolor images as GIF ignores interlace flag). 499 (cmb) 500 501- MySQLi: 502 . Fixed bug #77597 (mysqli_fetch_field hangs scripts). (Nikita) 503 504- Opcache: 505 . Fixed bug #77691 (Opcache passes wrong value for inline array push 506 assignments). (Nikita) 507 . Fixed bug #77743 (Incorrect pi node insertion for jmpznz with identical 508 successors). (Nikita) 509 510- phpdbg: 511 . Fixed bug #77767 (phpdbg break cmd aliases listed in help do not match 512 actual aliases). (Miriam Lauter) 513 514- sodium: 515 . Fixed bug #77646 (sign_detached() strings not terminated). (Frank) 516 517- SQLite3: 518 . Added sqlite3.defensive INI directive. (BohwaZ) 519 520- Standard: 521 . Fixed bug #77664 (Segmentation fault when using undefined constant in 522 custom wrapper). (Laruence) 523 . Fixed bug #77669 (Crash in extract() when overwriting extracted array). 524 (Nikita) 525 . Fixed bug #76717 (var_export() does not create a parsable value for 526 PHP_INT_MIN). (Nikita) 527 . Fixed bug #77765 (FTP stream wrapper should set the directory as 528 executable). (Vlad Temian) 529 53007 Mar 2019, PHP 7.2.16 531 532- Core: 533 . Fixed bug #77589 (Core dump using parse_ini_string with numeric sections). 534 (Laruence) 535 . Fixed bug #77630 (rename() across the device may allow unwanted access 536 during processing). (Stas) 537 538- COM: 539 . Fixed bug #77621 (Already defined constants are not properly reported). 540 (cmb) 541 542- EXIF: 543 . Fixed bug #77509 (Uninitialized read in exif_process_IFD_in_TIFF). (Stas) 544 . Fixed bug #77540 (Invalid Read on exif_process_SOFn). (Stas) 545 . Fixed bug #77563 (Uninitialized read in exif_process_IFD_in_MAKERNOTE). (Stas) 546 . Fixed bug #77659 (Uninitialized read in exif_process_IFD_in_MAKERNOTE). (Stas) 547 548- PDO_OCI: 549 . Support Oracle Database tracing attributes ACTION, MODULE, 550 CLIENT_INFO, and CLIENT_IDENTIFIER. (Cameron Porter) 551 552- PHAR: 553 . Fixed bug #77396 (Null Pointer Dereference in phar_create_or_parse_filename). 554 (bishop) 555 556- SPL: 557 . Fixed bug #51068 (DirectoryIterator glob:// don't support current path 558 relative queries). (Ahmed Abdou) 559 . Fixed bug #77431 (openFile() silently truncates after a null byte). (cmb) 560 561- Standard: 562 . Fixed bug #77552 (Unintialized php_stream_statbuf in stat functions). 563 (John Stevenson) 564 565- MySQL 566 . Disabled LOCAL INFILE by default, can be enabled using php.ini directive 567 mysqli.allow_local_infile for mysqli, or PDO::MYSQL_ATTR_LOCAL_INFILE 568 attribute for pdo_mysql. (Darek Slusarczyk) 569 57007 Feb 2019, PHP 7.2.15 571 572- Core: 573 . Fixed bug #77339 (__callStatic may get incorrect arguments). (Dmitry) 574 . Fixed bug #77494 (Disabling class causes segfault on member access). 575 (Dmitry) 576 . Fixed bug #77530 (PHP crashes when parsing `(2)::class`). (Ekin) 577 578- Curl: 579 . Fixed bug #76675 (Segfault with H2 server push). (Pedro Magalhães) 580 581- GD: 582 . Fixed bug #73281 (imagescale(…, IMG_BILINEAR_FIXED) can cause black border). 583 (cmb) 584 . Fixed bug #73614 (gdImageFilledArc() doesn't properly draw pies). (cmb) 585 . Fixed bug #77272 (imagescale() may return image resource on failure). (cmb) 586 . Fixed bug #77391 (1bpp BMPs may fail to be loaded). (Romain Déoux, cmb) 587 . Fixed bug #77479 (imagewbmp() segfaults with very large images). (cmb) 588 589- ldap: 590 . Fixed bug #77440 (ldap_bind using ldaps or ldap_start_tls()=exception in 591 libcrypto-1_1-x64.dll). (Anatol) 592 593- Mbstring: 594 . Fixed bug #77454 (mb_scrub() silently truncates after a null byte). 595 (64796c6e69 at gmail dot com) 596 597- MySQLnd: 598 . Fixed bug #75684 (In mysqlnd_ext_plugin.h the plugin methods family has 599 no external visibility). (Anatol) 600 601- Opcache: 602 . Fixed bug #77361 (configure fails on 64-bit AIX when opcache enabled). 603 (Kevin Adler) 604 605- OpenSSL: 606 . Fixed bug #77390 (feof might hang on TLS streams in case of fragmented TLS 607 records). (Abyl Valg, Jakub Zelenka) 608 609- PDO: 610 . Fixed bug #77273 (array_walk_recursive corrupts value types leading to PDO 611 failure). (Nikita) 612 613- phpdbg: 614 . Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel) 615 616- Sockets: 617 . Fixed bug #76839 (socket_recvfrom may return an invalid 'from' address 618 on MacOS). (Michael Meyer) 619 620- Standard: 621 . Fixed bug #77395 (segfault about array_multisort). (Laruence) 622 . Fixed bug #77439 (parse_str segfaults when inserting item into existing 623 array). (Nikita) 624 62510 Jan 2019, PHP 7.2.14 626 627- Core: 628 . Fixed bug #77369 (memcpy with negative length via crafted DNS response). (Stas) 629 . Fixed bug #71041 (zend_signal_startup() needs ZEND_API). 630 (Valentin V. Bartenev) 631 . Fixed bug #76046 (PHP generates "FE_FREE" opcode on the wrong line). 632 (Nikita) 633 634- COM: 635 . Fixed bug #77177 (Serializing or unserializing COM objects crashes). (cmb) 636 637- Date: 638 . Fixed bug #77097 (DateTime::diff gives wrong diff when the actual diff is 639 less than 1 second). (Derick) 640 641- Exif: 642 . Fixed bug #77184 (Unsigned rational numbers are written out as signed 643 rationals). (Colin Basnett) 644 645- GD: 646 . Fixed bug #77269 (efree() on uninitialized Heap data in imagescale leads to 647 use-after-free). (cmb) 648 . Fixed bug #77270 (imagecolormatch Out Of Bounds Write on Heap). (cmb) 649 . Fixed bug #77195 (Incorrect error handling of imagecreatefromjpeg()). (cmb) 650 . Fixed bug #77198 (auto cropping has insufficient precision). (cmb) 651 . Fixed bug #77200 (imagecropauto(…, GD_CROP_SIDES) crops left but not right). 652 (cmb) 653 654- IMAP: 655 . Fixed bug #77020 (null pointer dereference in imap_mail). (cmb) 656 657- Mbstring: 658 . Fixed bug #77370 (Buffer overflow on mb regex functions - fetch_token). (Stas) 659 . Fixed bug #77371 (heap buffer overflow in mb regex functions 660 - compile_string_node). (Stas) 661 . Fixed bug #77381 (heap buffer overflow in multibyte match_at). (Stas) 662 . Fixed bug #77382 (heap buffer overflow due to incorrect length in 663 expand_case_fold_string). (Stas) 664 . Fixed bug #77385 (buffer overflow in fetch_token). (Stas) 665 . Fixed bug #77394 (Buffer overflow in multibyte case folding - unicode). (Stas) 666 . Fixed bug #77418 (Heap overflow in utf32be_mbc_to_code). (Stas) 667 668- OCI8: 669 . Fixed bug #76804 (oci_pconnect with OCI_CRED_EXT not working). (KoenigsKind) 670 . Added oci_set_call_timeout() for call timeouts. 671 . Added oci_set_db_operation() for the DBOP end-to-end-tracing attribute. 672 673- Opcache: 674 . Fixed bug #77215 (CFG assertion failure on multiple finalizing switch 675 frees in one block). (Nikita) 676 677- PDO: 678 . Handle invalid index passed to PDOStatement::fetchColumn() as error. (Sergei 679 Morozov) 680 681- Phar: 682 . Fixed bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext). (Stas) 683 684- Sockets: 685 . Fixed bug #77136 (Unsupported IPV6_RECVPKTINFO constants on macOS). 686 (Mizunashi Mana) 687 688- SQLite3: 689 . Fixed bug #77051 (Issue with re-binding on SQLite3). (BohwaZ) 690 691- Xmlrpc: 692 . Fixed bug #77242 (heap out of bounds read in xmlrpc_decode()). (cmb) 693 . Fixed bug #77380 (Global out of bounds read in xmlrpc base64 code). (Stas) 694 69506 Dec 2018, PHP 7.2.13 696 697- ftp: 698 . Fixed bug #77151 (ftp_close(): SSL_read on shutdown). (Remi) 699 700- CLI: 701 . Fixed bug #77111 (php-win.exe corrupts unicode symbols from cli 702 parameters). (Anatol) 703 704- Fileinfo: 705 . Fixed bug #77095 (slowness regression in 7.2/7.3 (compared to 7.1)). 706 (Anatol) 707 708- iconv: 709 . Fixed bug #77147 (Fixing 60494 ignored ICONV_MIME_DECODE_CONTINUE_ON_ERROR). 710 (cmb) 711 712- IMAP: 713 . Fixed bug #77153 (imap_open allows to run arbitrary shell commands via 714 mailbox parameter). (Stas) 715 716- ODBC: 717 . Fixed bug #77079 (odbc_fetch_object has incorrect type signature). 718 (Jon Allen) 719 720- Opcache: 721 . Fixed bug #77058 (Type inference in opcache causes side effects). (Nikita) 722 . Fixed bug #77092 (array_diff_key() - segmentation fault). (Nikita) 723 724- PGSQL: 725 . Fixed bug #77047 (pg_convert has a broken regex for the 'TIME WITHOUT 726 TIMEZONE' data type). (Andy Gajetzki) 727 728- SOAP: 729 . Fixed bug #50675 (SoapClient can't handle object references correctly). 730 (Cameron Porter) 731 . Fixed bug #76348 (WSDL_CACHE_MEMORY causes Segmentation fault). (cmb) 732 . Fixed bug #77141 (Signedness issue in SOAP when precision=-1). (cmb) 733 734- Sockets: 735 . Fixed bug #67619 (Validate length on socket_write). (thiagooak) 736 73708 Nov 2018, PHP 7.2.12 738 739- Core: 740 . Fixed bug #76846 (Segfault in shutdown function after memory limit error). 741 (Nikita) 742 . Fixed bug #76946 (Cyclic reference in generator not detected). (Nikita) 743 . Fixed bug #77035 (The phpize and ./configure create redundant .deps file). 744 (Peter Kokot) 745 . Fixed bug #77041 (buildconf should output error messages to stderr) 746 (Mizunashi Mana) 747 748- Date: 749 . Upgraded timelib to 2017.08. (Derick) 750 . Fixed bug #75851 (Year component overflow with date formats "c", "o", "r" 751 and "y"). (Adam Saponara) 752 . Fixed bug #77007 (fractions in `diff()` are not correctly normalized). 753 (Derick) 754 755- FCGI: 756 . Fixed #76948 (Failed shutdown/reboot or end session in Windows). (Anatol) 757 . Fixed bug #76954 (apache_response_headers removes last character from header 758 name). (stodorovic) 759 760- FTP: 761 . Fixed bug #76972 (Data truncation due to forceful ssl socket shutdown). 762 (Manuel Mausz) 763 764- intl: 765 . Fixed bug #76942 (U_ARGUMENT_TYPE_MISMATCH). (anthrax at unixuser dot org) 766 767- Reflection: 768 . Fixed bug #76936 (Objects cannot access their private attributes while 769 handling reflection errors). (Nikita) 770 . Fixed bug #66430 (ReflectionFunction::invoke does not invoke closure with 771 object scope). (Nikita) 772 773- Sodium: 774 . Some base64 outputs were truncated; this is not the case any more. 775 (jedisct1) 776 . block sizes >= 256 bytes are now supposed by sodium_pad() even 777 when an old version of libsodium has been installed. (jedisct1) 778 . Fixed bug #77008 (sodium_pad() could read (but not return nor write) 779 uninitialized memory when trying to pad an empty input). (jedisct1) 780 781- Standard: 782 . Fixed bug #76965 (INI_SCANNER_RAW doesn't strip trailing whitespace). 783 (Pierrick) 784 785- Tidy: 786 . Fixed bug #77027 (tidy::getOptDoc() not available on Windows). (cmb) 787 788- XML: 789 . Fixed bug #30875 (xml_parse_into_struct() does not resolve entities). (cmb) 790 . Add support for getting SKIP_TAGSTART and SKIP_WHITE options. (cmb) 791 792- XMLRPC: 793 . Fixed bug #75282 (xmlrpc_encode_request() crashes). (cmb) 794 79511 Oct 2018, PHP 7.2.11 796 797- Core: 798 . Fixed bug #76800 (foreach inconsistent if array modified during loop). 799 (Dmitry) 800 . Fixed bug #76901 (method_exists on SPL iterator passthrough method corrupts 801 memory). (Nikita) 802 803- CURL: 804 . Fixed bug #76480 (Use curl_multi_wait() so that timeouts are respected). 805 (Pierrick) 806 807- iconv: 808 . Fixed bug #66828 (iconv_mime_encode Q-encoding longer than it should be). 809 (cmb) 810 811- Opcache: 812 . Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS). 813 (Anatol) 814 . Fixed bug #76796 (Compile-time evaluation of disabled function in opcache 815 causes segfault). (Nikita) 816 817- POSIX: 818 . Fixed bug #75696 (posix_getgrnam fails to print details of group). (cmb) 819 820- Reflection: 821 . Fixed bug #74454 (Wrong exception being thrown when using ReflectionMethod). 822 (cmb) 823 824- Standard: 825 . Fixed bug #73457 (Wrong error message when fopen FTP wrapped fails to open 826 data connection). (Ville Hukkamäki) 827 . Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with 828 stream_socket_client). (Ville Hukkamäki) 829 . Fixed bug #75533 (array_reduce is slow when $carry is large array). 830 (Manabu Matsui) 831 832- XMLRPC: 833 . Fixed bug #76886 (Can't build xmlrpc with expat). (Thomas Petazzoni, cmb) 834 835- Zlib: 836 . Fixed bug #75273 (php_zlib_inflate_filter() may not update bytes_consumed). 837 (Martin Burke, cmb) 838 83913 Sep 2018, PHP 7.2.10 840 841- Core: 842 . Fixed bug #76754 (parent private constant in extends class memory leak). 843 (Laruence) 844 . Fixed bug #72443 (Generate enabled extension). (petk) 845 . Fixed bug #75797 (Memory leak when using class_alias() in non-debug mode). 846 (Massimiliano Braglia) 847 848- Apache2: 849 . Fixed bug #76582 (Apache bucket brigade sometimes becomes invalid). (stas) 850 851- Bz2: 852 . Fixed arginfo for bzcompress. (Tyson Andre) 853 854- gettext: 855 . Fixed bug #76517 (incorrect restoring of LDFLAGS). (sji) 856 857- iconv: 858 . Fixed bug #68180 (iconv_mime_decode can return extra characters in a 859 header). (cmb) 860 . Fixed bug #63839 (iconv_mime_decode_headers function is skipping headers). 861 (cmb) 862 . Fixed bug #60494 (iconv_mime_decode does ignore special characters). (cmb) 863 . Fixed bug #55146 (iconv_mime_decode_headers() skips some headers). (cmb) 864 865- intl: 866 . Fixed bug #74484 (MessageFormatter::formatMessage memory corruption with 867 11+ named placeholders). (Anatol) 868 869- libxml: 870 . Fixed bug #76777 ("public id" parameter of libxml_set_external_entity_loader 871 callback undefined). (Ville Hukkamäki) 872 873- mbstring: 874 . Fixed bug #76704 (mb_detect_order return value varies based on argument 875 type). (cmb) 876 877- Opcache: 878 . Fixed bug #76747 (Opcache treats path containing "test.pharma.tld" as a phar 879 file). (Laruence) 880 881- OpenSSL: 882 . Fixed bug #76705 (unusable ssl => peer_fingerprint in 883 stream_context_create()). (Jakub Zelenka) 884 885- phpdbg: 886 . Fixed bug #76595 (phpdbg man page contains outdated information). 887 (Kevin Abel) 888 889- SPL: 890 . Fixed bug #68825 (Exception in DirectoryIterator::getLinkTarget()). (cmb) 891 . Fixed bug #68175 (RegexIterator pregFlags are NULL instead of 0). (Tim 892 Siebels) 893 894- Standard: 895 . Fixed bug #76778 (array_reduce leaks memory if callback throws exception). 896 (cmb) 897 898- zlib: 899 . Fixed bug #65988 (Zlib version check fails when an include/zlib/ style dir 900 is passed to the --with-zlib configure option). (Jay Bonci) 901 . Fixed bug #76709 (Minimal required zlib library is 1.2.0.4). (petk) 902 90316 Aug 2018, PHP 7.2.9 904 905- Calendar: 906 . Fixed bug #52974 (jewish.c: compile error under Windows with GBK charset). 907 (cmb) 908 909- Filter: 910 . Fixed bug #76366 (References in sub-array for filtering breaks the filter). 911 (ZiHang Gao) 912 913- PDO_Firebird: 914 . Fixed bug #76488 (Memory leak when fetching a BLOB field). (Simonov Denis) 915 916- PDO_PgSQL: 917 . Fixed bug #75402 (Possible Memory Leak using PDO::CURSOR_SCROLL option). 918 (Anatol) 919 920- SQLite3: 921 . Fixed #76665 (SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle). 922 (cmb) 923 924- Standard: 925 . Fixed bug #73817 (Incorrect entries in get_html_translation_table). (cmb) 926 . Fixed bug #68553 (array_column: null values in $index_key become incrementing 927 keys in result). (Laruence) 928 . Fixed bug #76643 (Segmentation fault when using `output_add_rewrite_var`). 929 (cmb) 930 931- Zip: 932 . Fixed bug #76524 (ZipArchive memory leak (OVERWRITE flag and empty archive)). 933 (Timur Ibragimov) 934 93519 Jul 2018, PHP 7.2.8 936 937- Core: 938 . Fixed bug #76534 (PHP hangs on 'illegal string offset on string references 939 with an error handler). (Laruence) 940 . Fixed bug #76520 (Object creation leaks memory when executed over HTTP). 941 (Nikita) 942 . Fixed bug #76502 (Chain of mixed exceptions and errors does not serialize 943 properly). (Nikita) 944 945- Date: 946 . Fixed bug #76462 (Undefined property: DateInterval::$f). (Anatol) 947 948- EXIF: 949 . Fixed bug #76409 (heap use after free in _php_stream_free). (cmb) 950 . Fixed bug #76423 (Int Overflow lead to Heap OverFlow in 951 exif_thumbnail_extract of exif.c). (Stas) 952 . Fixed bug #76557 (heap-buffer-overflow (READ of size 48) while reading exif 953 data). (Stas) 954 955- FPM: 956 . Fixed bug #73342 (Vulnerability in php-fpm by changing stdin to 957 non-blocking). (Nikita) 958 959- GMP: 960 . Fixed bug #74670 (Integer Underflow when unserializing GMP and possible 961 other classes). (Nikita) 962 963- intl: 964 . Fixed bug #76556 (get_debug_info handler for BreakIterator shows wrong 965 type). (cmb) 966 967- mbstring: 968 . Fixed bug #76532 (Integer overflow and excessive memory usage 969 in mb_strimwidth). (MarcusSchwarz) 970 971- Opcache: 972 . Fixed bug #76477 (Opcache causes empty return value). 973 (Nikita, Laruence) 974 975- PGSQL: 976 . Fixed bug #76548 (pg_fetch_result did not fetch the next row). (Anatol) 977 978- phpdbg: 979 . Fix arginfo wrt. optional/required parameters. (cmb) 980 981- Reflection: 982 . Fixed bug #76536 (PHP crashes with core dump when throwing exception in 983 error handler). (Laruence) 984 . Fixed bug #75231 (ReflectionProperty#getValue() incorrectly works with 985 inherited classes). (Nikita) 986 987- Standard: 988 . Fixed bug #76505 (array_merge_recursive() is duplicating sub-array keys). 989 (Laruence) 990 . Fixed bug #71848 (getimagesize with $imageinfo returns false). (cmb) 991 992- Win32: 993 . Fixed bug #76459 (windows linkinfo lacks openbasedir check). (Anatol) 994 995- ZIP: 996 . Fixed bug #76461 (OPSYS_Z_CPM defined instead of OPSYS_CPM). 997 (Dennis Birkholz, Remi) 998 99907 Jun 2018, PHP 7.2.7 1000 1001- Core: 1002 . Fixed bug #76337 (segfault when opcache enabled + extension use 1003 zend_register_class_alias). (xKhorasan) 1004 1005- CLI Server: 1006 . Fixed bug #76333 (PHP built-in server does not find files if root path 1007 contains special characters). (Anatol) 1008 1009- OpenSSL: 1010 . Fixed bug #76296 (openssl_pkey_get_public does not respect open_basedir). 1011 (Erik Lax, Jakub Zelenka) 1012 . Fixed bug #76174 (openssl extension fails to build with LibreSSL 2.7). 1013 (Jakub Zelenka) 1014 1015- SPL: 1016 . Fixed bug #76367 (NoRewindIterator segfault 11). (Laruence) 1017 1018- Standard: 1019 . Fixed bug #76410 (SIGV in zend_mm_alloc_small). (Laruence) 1020 . Fixed bug #76335 ("link(): Bad file descriptor" with non-ASCII path). 1021 (Anatol) 1022 102324 May 2018, PHP 7.2.6 1024 1025- EXIF: 1026 . Fixed bug #76164 (exif_read_data zend_mm_heap corrupted). (cmb) 1027 1028- FPM: 1029 . Fixed bug #76075 --with-fpm-acl wrongly tries to find libacl on FreeBSD. 1030 (mgorny) 1031 1032- intl: 1033 . Fixed bug #74385 (Locale::parseLocale() broken with some arguments). 1034 (Anatol) 1035 1036- Opcache: 1037 . Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp). (Dmitry) 1038 . Fixed bug #76275 (Assertion failure in file cache when unserializing empty 1039 try_catch_array). (Nikita) 1040 . Fixed bug #76281 (Opcache causes incorrect "undefined variable" errors). 1041 (Nikita) 1042 1043- Reflection: 1044 . Fixed arginfo of array_replace(_recursive) and array_merge(_recursive). 1045 (carusogabriel) 1046 1047- Session: 1048 . Fixed bug #74892 (Url Rewriting (trans_sid) not working on urls that start 1049 with "#"). (Andrew Nester) 1050 105126 Apr 2018, PHP 7.2.5 1052 1053- Core: 1054 . Fixed bug #75722 (Convert valgrind detection to configure option). 1055 (Michael Heimpold) 1056 1057- Date: 1058 . Fixed bug #76131 (mismatch arginfo for date_create). (carusogabriel) 1059 1060- Exif: 1061 . Fixed bug #76130 (Heap Buffer Overflow (READ: 1786) in exif_iif_add_value). 1062 (Stas) 1063 1064- FPM: 1065 . Fixed bug #68440 (ERROR: failed to reload: execvp() failed: Argument list 1066 too long). (Jacob Hipps) 1067 . Fixed incorrect write to getenv result in FPM reload. (Jakub Zelenka) 1068 1069- GD: 1070 . Fixed bug #52070 (imagedashedline() - dashed line sometimes is not visible). 1071 (cmb) 1072 1073- iconv: 1074 . Fixed bug #76249 (stream filter convert.iconv leads to infinite loop on 1075 invalid sequence). (Stas) 1076 1077- intl: 1078 . Fixed bug #76153 (Intl compilation fails with icu4c 61.1). (Anatol) 1079 1080- ldap: 1081 . Fixed bug #76248 (Malicious LDAP-Server Response causes Crash). (Stas) 1082 1083- mbstring: 1084 . Fixed bug #75944 (Wrong cp1251 detection). (dmk001) 1085 . Fixed bug #76113 (mbstring does not build with Oniguruma 6.8.1). 1086 (chrullrich, cmb) 1087 1088- ODBC: 1089 . Fixed bug #76088 (ODBC functions are not available by default on Windows). 1090 (cmb) 1091 1092- Opcache: 1093 . Fixed bug #76094 (Access violation when using opcache). (Laruence) 1094 1095- Phar: 1096 . Fixed bug #76129 (fix for CVE-2018-5712 may not be complete). (Stas) 1097 1098- phpdbg: 1099 . Fixed bug #76143 (Memory corruption: arbitrary NUL overwrite). (Laruence) 1100 1101- SPL: 1102 . Fixed bug #76131 (mismatch arginfo for splarray constructor). 1103 (carusogabriel) 1104 1105- standard: 1106 . Fixed bug #74139 (mail.add_x_header default inconsistent with docs). (cmb) 1107 . Fixed bug #75996 (incorrect url in header for mt_rand). (tatarbj) 1108 110929 Mar 2018, PHP 7.2.4 1110 1111- Core: 1112 . Fixed bug #76025 (Segfault while throwing exception in error_handler). 1113 (Dmitry, Laruence) 1114 . Fixed bug #76044 ('date: illegal option -- -' in ./configure on FreeBSD). 1115 (Anatol) 1116 1117- FPM: 1118 . Fixed bug #75605 (Dumpable FPM child processes allow bypassing opcache 1119 access controls). (Jakub Zelenka) 1120 1121- FTP: 1122 . Fixed ftp_pasv arginfo. (carusogabriel) 1123 1124-GD: 1125 . Fixed bug #73957 (signed integer conversion in imagescale()). (cmb) 1126 . Fixed bug #76041 (null pointer access crashed php). (cmb) 1127 . Fixed imagesetinterpolation arginfo. (Gabriel Caruso) 1128 1129- iconv: 1130 . Fixed bug #75867 (Freeing uninitialized pointer). (Philip Prindeville) 1131 1132- Mbstring: 1133 . Fixed bug #62545 (wrong unicode mapping in some charsets). (cmb) 1134 1135- Opcache: 1136 . Fixed bug #75969 (Assertion failure in live range DCE due to block pass 1137 misoptimization). (Nikita) 1138 1139- OpenSSL: 1140 . Fixed openssl_* arginfos. (carusogabriel) 1141 1142- PCNTL: 1143 . Fixed bug #75873 (pcntl_wexitstatus returns incorrect on Big_Endian platform 1144 (s390x)). (Sam Ding) 1145 1146- Phar: 1147 . Fixed bug #76085 (Segmentation fault in buildFromIterator when directory 1148 name contains a \n). (Laruence) 1149 1150- Standard: 1151 . Fixed bug #75961 (Strange references behavior). (Laruence) 1152 . Fixed some arginfos. (carusogabriel) 1153 . Fixed bug #76068 (parse_ini_string fails to parse "[foo]\nbar=1|>baz" with 1154 segfault). (Anatol) 1155 115601 Mar 2018, PHP 7.2.3 1157 1158- Core: 1159 . Fixed bug #75864 ("stream_isatty" returns wrong value on s390x). (Sam Ding) 1160 1161- Apache2Handler: 1162 . Fixed bug #75882 (a simple way for segfaults in threadsafe php just with 1163 configuration). (Anatol) 1164 1165- Date: 1166 . Fixed bug #75857 (Timezone gets truncated when formatted). (carusogabriel) 1167 . Fixed bug #75928 (Argument 2 for `DateTimeZone::listIdentifiers()` should 1168 accept `null`). (Pedro Lacerda) 1169 . Fixed bug #68406 (calling var_dump on a DateTimeZone object modifies it). 1170 (jhdxr) 1171 1172- LDAP: 1173 . Fixed bug #49876 (Fix LDAP path lookup on 64-bit distros). (dzuelke) 1174 1175- libxml2: 1176 . Fixed bug #75871 (use pkg-config where available). (pmmaga) 1177 1178- PGSQL: 1179 . Fixed bug #75838 (Memory leak in pg_escape_bytea()). (ard_1 at mail dot ru) 1180 1181- Phar: 1182 . Fixed bug #54289 (Phar::extractTo() does not accept specific directories to 1183 be extracted). (bishop) 1184 . Fixed bug #65414 (deal with leading slash while adding files correctly). 1185 (bishopb) 1186 . Fixed bug #65414 (deal with leading slash when adding files correctly). 1187 (bishopb) 1188 1189- ODBC: 1190 . Fixed bug #73725 (Unable to retrieve value of varchar(max) type). (Anatol) 1191 1192- Opcache: 1193 . Fixed bug #75729 (opcache segfault when installing Bitrix). (Nikita) 1194 . Fixed bug #75893 (file_get_contents $http_response_header variable bugged 1195 with opcache). (Nikita) 1196 . Fixed bug #75938 (Modulus value not stored in variable). (Nikita) 1197 1198- SPL: 1199 . Fixed bug #74519 (strange behavior of AppendIterator). (jhdxr) 1200 1201- Standard: 1202 . Fixed bug #75916 (DNS_CAA record results contain garbage). (Mike, 1203 Philip Sharp) 1204 . Fixed bug #75981 (Prevent reading beyond buffer start in http wrapper). 1205 (Stas) 1206 120701 Feb 2018, PHP 7.2.2 1208 1209- Core: 1210 . Fixed bug #75742 (potential memleak in internal classes's static members). 1211 (Laruence) 1212 . Fixed bug #75679 (Path 260 character problem). (Anatol) 1213 . Fixed bug #75614 (Some non-portable == in shell scripts). (jdolecek) 1214 . Fixed bug #75786 (segfault when using spread operator on generator passed 1215 by reference). (Nikita) 1216 . Fixed bug #75799 (arg of get_defined_functions is optional). (carusogabriel) 1217 . Fixed bug #75396 (Exit inside generator finally results in fatal error). 1218 (Nikita) 1219 1220- FCGI: 1221 . Fixed bug #75794 (getenv() crashes on Windows 7.2.1 when second parameter is 1222 false). (Anatol) 1223 1224- IMAP: 1225 . Fixed bug #75774 (imap_append HeapCorruction). (Anatol) 1226 1227- Opcache: 1228 . Fixed bug #75720 (File cache not populated after SHM runs full). (Dmitry) 1229 . Fixed bug #75687 (var 8 (TMP) has array key type but not value type). 1230 (Nikita, Laruence) 1231 . Fixed bug #75698 (Using @ crashes php7.2-fpm). (Nikita) 1232 . Fixed bug #75579 (Interned strings buffer overflow may cause crash). 1233 (Dmitry) 1234 1235- PDO: 1236 . Fixed bug #75616 (PDO extension doesn't allow to be built shared on Darwin). 1237 (jdolecek) 1238 1239- PDO MySQL: 1240 . Fixed bug #75615 (PDO Mysql module can't be built as module). (jdolecek) 1241 1242- PGSQL: 1243 . Fixed bug #75671 (pg_version() crashes when called on a connection to 1244 cockroach). (magicaltux at gmail dot com) 1245 1246- Readline: 1247 . Fixed bug #75775 (readline_read_history segfaults with empty file). 1248 (Anatol) 1249 1250- SAPI: 1251 . Fixed bug #75735 ([embed SAPI] Segmentation fault in 1252 sapi_register_post_entry). (Laruence) 1253 1254- SOAP: 1255 . Fixed bug #70469 (SoapClient generates E_ERROR even if exceptions=1 is 1256 used). (Anton Artamonov) 1257 . Fixed bug #75502 (Segmentation fault in zend_string_release). (Nikita) 1258 1259- SPL: 1260 . Fixed bug #75717 (RecursiveArrayIterator does not traverse arrays by 1261 reference). (Nikita) 1262 . Fixed bug #75242 (RecursiveArrayIterator doesn't have constants from parent 1263 class). (Nikita) 1264 . Fixed bug #73209 (RecursiveArrayIterator does not iterate object 1265 properties). (Nikita) 1266 1267- Standard: 1268 . Fixed bug #75781 (substr_count incorrect result). (Laruence) 1269 . Fixed bug #75653 (array_values don't work on empty array). (Nikita) 1270 1271- Zip: 1272 . Display headers (buildtime) and library (runtime) versions in phpinfo 1273 (with libzip >= 1.3.1). (Remi) 1274 127504 Jan 2018, PHP 7.2.1 1276 1277- Core: 1278 . Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26). (Laruence) 1279 . Fixed bug #75384 (PHP seems incompatible with OneDrive files on demand). 1280 (Anatol) 1281 . Fixed bug #75525 (Access Violation in vcruntime140.dll). (Anatol) 1282 . Fixed bug #74862 (Unable to clone instance when private __clone defined). 1283 (Daniel Ciochiu) 1284 . Fixed bug #75074 (php-process crash when is_file() is used with strings 1285 longer 260 chars). (Anatol) 1286 . Fixed bug #69727 (Remove timestamps from build to make it reproducible). 1287 (jelle van der Waa) 1288 1289- CLI server: 1290 . Fixed bug #73830 (Directory does not exist). (Anatol) 1291 1292- FPM: 1293 . Fixed bug #64938 (libxml_disable_entity_loader setting is shared between 1294 requests). (Remi) 1295 1296- GD: 1297 . Fixed bug #75571 (Potential infinite loop in gdImageCreateFromGifCtx). 1298 (Christoph) 1299 1300- Opcache: 1301 . Fixed bug #75608 ("Narrowing occurred during type inference" error). 1302 (Laruence, Dmitry) 1303 . Fixed bug #75579 (Interned strings buffer overflow may cause crash). 1304 (Dmitry) 1305 . Fixed bug #75570 ("Narrowing occurred during type inference" error). 1306 (Dmitry) 1307 . Fixed bug #75681 (Warning: Narrowing occurred during type inference, 1308 specific case). (Nikita) 1309 . Fixed bug #75556 (Invalid opcode 138/1/1). (Laruence) 1310 1311- PCRE: 1312 . Fixed bug #74183 (preg_last_error not returning error code after error). 1313 (Andrew Nester) 1314 1315- Phar: 1316 . Fixed bug #74782 (remove file name from output to avoid XSS). (stas) 1317 1318- Standard: 1319 . Fixed bug #75511 (fread not free unused buffer). (Laruence) 1320 . Fixed bug #75514 (mt_rand returns value outside [$min,$max]+ on 32-bit) 1321 (Remi) 1322 . Fixed bug #75535 (Inappropriately parsing HTTP response leads to PHP 1323 segment fault). (Nikita) 1324 . Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator 1325 that getrandom() is missing). (sarciszewski) 1326 . Fixed bug #73124 (php_ini_scanned_files() not reporting correctly). 1327 (John Stevenson) 1328 . Fixed bug #75574 (putenv does not work properly if parameter contains 1329 non-ASCII unicode character). (Anatol) 1330 1331- Zip: 1332 . Fixed bug #75540 (Segfault with libzip 1.3.1). (Remi) 1333 133430 Nov 2017, PHP 7.2.0 1335 1336- BCMath: 1337 . Fixed bug #46564 (bcmod truncates fractionals). (liborm85) 1338 1339- CLI: 1340 . Fixed bug #74849 (Process is started as interactive shell in PhpStorm). 1341 (Anatol) 1342 . Fixed bug #74979 (Interactive shell opening instead of script execution 1343 with -f flag). (Anatol) 1344 1345- CLI server: 1346 . Fixed bug #60471 (Random "Invalid request (unexpected EOF)" using a router 1347 script). (SammyK) 1348 1349- Core: 1350 . Added ZEND_COUNT, ZEND_GET_CLASS, ZEND_GET_CALLED_CLASS, ZEND_GET_TYPE, 1351 ZEND_FUNC_NUM_ARGS, ZEND_FUNC_GET_ARGS instructions, to implement 1352 corresponding builtin functions. (Dmitry) 1353 . "Countable" interface is moved from SPL to Core. (Dmitry) 1354 . Added ZEND_IN_ARRAY instruction, implementing optimized in_array() builtin 1355 function, through hash lookup in flipped array. (Dmitry) 1356 . Removed IS_TYPE_IMMUTABLE (it's the same as COPYABLE & !REFCOUNTED). (Dmitry) 1357 . Removed the sql.safe_mode directive. (Kalle) 1358 . Removed support for Netware. (Kalle) 1359 . Renamed ReflectionClass::isIterateable() to ReflectionClass::isIterable() 1360 (alias original name for BC). (Sara) 1361 . Fixed bug #54535 (WSA cleanup executes before MSHUTDOWN). (Kalle) 1362 . Implemented FR #69791 (Disallow mail header injections by extra headers) 1363 (Yasuo) 1364 . Implemented FR #49806 (proc_nice() for Windows). (Kalle) 1365 . Fix pthreads detection when cross-compiling (ffontaine) 1366 . Fixed memory leaks caused by exceptions thrown from destructors. (Bob, 1367 Dmitry). 1368 . Fixed bug #73215 (uniqid() should use better random source). (Yasuo) 1369 . Implemented FR #72768 (Add ENABLE_VIRTUAL_TERMINAL_PROCESSING flag for 1370 php.exe). (Michele Locati) 1371 . Implemented "Convert numeric keys in object/array casts" RFC, fixes 1372 bugs #53838, #61655, #66173, #70925, #72254, etc. (Andrea) 1373 . Implemented "Deprecate and Remove Bareword (Unquoted) Strings" RFC. 1374 (Rowan Collins) 1375 . Raised minimum supported Windows versions to Windows 7/Server 2008 R2. 1376 (Anatol) 1377 . Implemented minor optimization in array_keys/array_values(). (Sara) 1378 . Added PHP_OS_FAMILY constant to determine on which OS we are. (Jan Altensen) 1379 . Fixed bug #73987 (Method compatibility check looks to original 1380 definition and not parent). (pmmaga) 1381 . Fixed bug #73991 (JSON_OBJECT_AS_ARRAY not respected). (Sara) 1382 . Fixed bug #74053 (Corrupted class entries on shutdown when a destructor 1383 spawns another object). (jim at commercebyte dot com) 1384 . Fixed bug #73971 (Filename got limited to MAX_PATH on Win32 when scan 1385 directory). (Anatol) 1386 . Fixed bug #72359, bug #72451, bug #73706, bug #71115 and others related 1387 to interned strings handling in TS builds. (Anatol, Dmitry) 1388 . Implemented "Trailing Commas In List Syntax" RFC for group use lists only. 1389 (Sammy Kaye Powers) 1390 . Fixed bug #74269 (It's possible to override trait property with different 1391 loosely-equal value). (pmmaga) 1392 . Fixed bug #61970 (Restraining __construct() access level in subclass gives 1393 a fatal error). (pmmaga) 1394 . Fixed bug #63384 (Cannot override an abstract method with an abstract 1395 method). (pmmaga, wes) 1396 . Fixed bug #74607 (Traits enforce different inheritance rules). (pmmaga) 1397 . Fixed misparsing of abstract unix domain socket names. (Sara) 1398 . Change PHP_OS_FAMILY value from "OSX" to "Darwin". (Sebastian, Kalle) 1399 . Allow loading PHP/Zend extensions by name in ini files (extension=<name>). 1400 (francois at tekwire dot net) 1401 . Added object type annotation. (brzuchal) 1402 . Fixed bug #74815 (crash with a combination of INI entries at startup). 1403 (Anatol) 1404 . Fixed bug #74836 (isset on zero-prefixed numeric indexes in array broken). 1405 (Dmitry) 1406 . Added new VM instuctions ISSET_ISEMPTY_CV and UNSET_CV. Previously they 1407 were implemented as ISSET_ISEMPTY_VAR and UNSET_VAR variants with 1408 ZEND_QUICK_SET flag. (Nikita, Dmitry) 1409 . Fixed bug #49649 (unserialize() doesn't handle changes in property 1410 visibility). (pmmaga) 1411 . Fixed #74866 (extension_dir = "./ext" now use current directory for base). 1412 (Francois Laupretre) 1413 . Implemented FR #74963 (Improved error message on fetching property of 1414 non-object). (Laruence) 1415 . Fixed Bug #75142 (buildcheck.sh check for autoconf version needs to be updated 1416 for v2.64). (zizzy at zizzy dot net, Remi) 1417 . Fixed bug #74878 (Data race in ZTS builds). (Nikita, Dmitry) 1418 . Fixed bug #75515 ("stream_copy_to_stream" doesn't stream anymore). (Sara) 1419 1420- cURL: 1421 . Fixed bug #75093 (OpenSSL support not detected). (Remi) 1422 . Better fix for #74125 (use pkg-config instead of curl-config). (Remi) 1423 1424- Date: 1425 . Fixed bug #55407 (Impossible to prototype DateTime::createFromFormat). 1426 (kelunik) 1427 . Implemented FR #71520 (Adding the DateTime constants to the 1428 DateTimeInterface interface). (Majkl578) 1429 . Fixed bug #75149 (redefinition of typedefs ttinfo and t1info). (Remi) 1430 . Fixed bug #75222 (DateInterval microseconds property always 0). (jhdxr) 1431 1432- Dba: 1433 . Fixed bug #72885 (flatfile: dba_fetch() fails to read replaced entry). 1434 (Anatol) 1435 1436- DOM: 1437 . Implement #74837 (Implement Countable for DomNodeList and DOMNamedNodeMap). 1438 (Andreas Treichel) 1439 1440- EXIF: 1441 . Added support for vendor specific tags for the following formats: 1442 Samsung, DJI, Panasonic, Sony, Pentax, Minolta, Sigma/Foveon, AGFA, 1443 Kyocera, Ricoh & Epson. (Kalle) 1444 . Fixed bug #72682 (exif_read_data() fails to read all data for some 1445 images). (Kalle) 1446 . Fixed bug #71534 (Type confusion in exif_read_data() leading to heap 1447 overflow in debug mode). (hlt99 at blinkenshell dot org, Kalle) 1448 . Fixed bug #68547 (Exif Header component value check error). 1449 (sjh21a at gmail dot com, Kalle) 1450 . Fixed bug #66443 (Corrupt EXIF header: maximum directory nesting level 1451 reached for some cameras). (Kalle) 1452 . Fixed Redhat bug #1362571 (PHP not returning full results for 1453 exif_read_data function). (Kalle) 1454 . Implemented #65187 (exif_read_data/thumbnail: add support for stream 1455 resource). (Kalle) 1456 . Deprecated the read_exif_data() alias. (Kalle) 1457 . Fixed bug #74428 (exif_read_data(): "Illegal IFD size" warning occurs with 1458 correct exif format). (bradpiccho at gmail dot com, Kalle) 1459 . Fixed bug #72819 (EXIF thumbnails not read anymore). (Kalle) 1460 . Fixed bug #62523 (php crashes with segfault when exif_read_data called). 1461 (Kalle) 1462 . Fixed bug #50660 (exif_read_data(): Illegal IFD offset (works fine with 1463 other exif readers). (skinny dot bravo at gmail dot com, Kalle) 1464 1465- Fileinfo: 1466 . Upgrade bundled libmagic to 5.31. (Anatol) 1467 1468- FPM: 1469 . Configuration to limit fpm slow log trace callers. (Sannis) 1470 . Fixed bug #75212 (php_value acts like php_admin_value). (Remi) 1471 1472- FTP: 1473 . Implement MLSD for structured listing of directories. (blar) 1474 . Added ftp_append() function. (blar) 1475 1476- GD: 1477 . Implemented imageresolution as getter and setter (Christoph) 1478 . Fixed bug #74744 (gd.h: stdarg.h include missing for va_list use in 1479 gdErrorMethod). (rainer dot jung at kippdata dot de, cmb) 1480 . Fixed bug #75111 (Memory disclosure or DoS via crafted .bmp image). (cmb) 1481 1482- GMP: 1483 . Fixed bug #70896 (gmp_fact() silently ignores non-integer input). (Sara) 1484 1485- Hash: 1486 . Changed HashContext from resource to object. (Rouven Weßling, Sara) 1487 . Disallowed usage of non-cryptographic hash functions with HMAC and PBKDF2. 1488 (Andrey Andreev, Nikita) 1489 . Fixed Bug #75284 (sha3 is not supported on bigendian machine). (Remi) 1490 1491- IMAP: 1492 . Fixed bug #72324 (imap_mailboxmsginfo() return wrong size). 1493 (ronaldpoon at udomain dot com dot hk, Kalle) 1494 1495- Intl: 1496 . Fixed bug #63790 (test using Spoofchecker which may be unavailable). (Sara) 1497 . Fixed bug #75378 ([REGRESSION] IntlDateFormatter::parse() does not change 1498 $position argument). (Laruence) 1499 1500- JSON: 1501 . Add JSON_INVALID_UTF8_IGNORE and JSON_INVALID_UTF8_SUBSTITUTE options for 1502 json_encode and json_decode to ignore or replace invalid UTF-8 byte 1503 sequences - it addresses request #65082. (Jakub Zelenka) 1504 . Fixed bug #75185 (Buffer overflow in json_decode() with 1505 JSON_INVALID_UTF8_IGNORE or JSON_INVALID). (Jakub Zelenka) 1506 . Fixed bug #68567 (JSON_PARTIAL_OUTPUT_ON_ERROR can result in JSON with null 1507 key). (Jakub Zelenka) 1508 1509- LDAP: 1510 . Implemented FR #69445 (Support for LDAP EXOP operations) 1511 . Fixed support for LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS in ldap_get_option 1512 . Fixed passing an empty array to ldap_set_option for client or server controls. 1513 1514- Mbstring: 1515 . Implemented request #66024 (mb_chr() and mb_ord()). (Masakielastic, Yasuo) 1516 . Implemented request #65081 (mb_scrub()). (Masakielastic, Yasuo) 1517 . Implemented request #69086 (enhancement for mb_convert_encoding() that 1518 handles multibyte replacement char nicely). (Masakielastic, Yasuo) 1519 . Added array input support to mb_convert_encoding(). (Yasuo) 1520 . Added array input support to mb_check_encoding(). (Yasuo) 1521 . Fixed bug #69079 (enhancement for mb_substitute_character). (masakielastic) 1522 . Update to oniguruma version 6.3.0. (Remi) 1523 . Fixed bug #69267 (mb_strtolower fails on titlecase characters). (Nikita) 1524 1525- Mcrypt: 1526 . The deprecated mcrypt extension has been moved to PECL. (leigh) 1527 1528- Opcache: 1529 . Added global optimisation passes based on data flow analysis using Single 1530 Static Assignment (SSA) form: Sparse Conditional Constant Propagation (SCCP), 1531 Dead Code Elimination (DCE), and removal of unused local variables 1532 (Nikita, Dmitry) 1533 . Fixed incorect constant conditional jump elimination. (Dmitry) 1534 . Fixed bug #75230 (Invalid opcode 49/1/8 using opcache). (Laruence) 1535 . Fixed bug (assertion fails with extended info generated). (Laruence) 1536 . Fixed bug (Phi sources removel). (Laruence) 1537 . Fixed bug #75370 (Webserver hangs on valid PHP text). (Laruence) 1538 . Fixed bug #75357 (segfault loading WordPress wp-admin). (Laruence) 1539 1540- OpenSSL: 1541 . Use TLS_ANY for default ssl:// and tls:// negotiation. (kelunik) 1542 . Fix leak in openssl_spki_new(). (jelle at vdwaa dot nl) 1543 . Added openssl_pkcs7_read() and pk7 parameter to openssl_pkcs7_verify(). 1544 (jelle at vdwaa dot nl) 1545 . Add ssl security_level stream option to support OpenSSL security levels. 1546 (Jakub Zelenka). 1547 . Allow setting SNI cert and private key in separate files. (Jakub Zelenka) 1548 . Fixed bug #74903 (openssl_pkcs7_encrypt() uses different EOL than before). 1549 (Anatol) 1550 . Automatically load OpenSSL configuration file. (Jakub Zelenka) 1551 1552- PCRE: 1553 . Added support for PCRE JIT fast path API. (dmitry) 1554 . Fixed bug #61780 (Inconsistent PCRE captures in match results). (cmb) 1555 . Fixed bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match()). 1556 (Dmitry) 1557 . Fixed bug #75089 (preg_grep() is not reporting PREG_BAD_UTF8_ERROR after 1558 first input string). (Dmitry) 1559 . Fixed bug #75223 (PCRE JIT broken in 7.2). (Dmitry) 1560 . Fixed bug #75285 (Broken build when system libpcre don't have jit support). 1561 (Remi) 1562 1563- phar: 1564 . Fixed bug #74196 (phar does not correctly handle names containing dots). 1565 (mhagstrand) 1566 1567- PDO: 1568 . Add "Sent SQL" to debug dump for emulated prepares. (Adam Baratz) 1569 . Add parameter types for national character set strings. (Adam Baratz) 1570 1571- PDO_DBlib: 1572 . Fixed bug #73234 (Emulated statements let value dictate parameter type). 1573 (Adam Baratz) 1574 . Fixed bug #73396 (bigint columns are returned as strings). (Adam Baratz) 1575 . Expose DB-Library version as \PDO::DBLIB_ATTR_VERSION attribute on \PDO 1576 instance. (Adam Baratz) 1577 . Add test coverage for bug #72969. (Jeff Farr) 1578 1579- PDO_OCI: 1580 . Fixed Bug #74537 (Align --with-pdo-oci configure option with --with-oci8 syntax). 1581 (Tianfang Yang) 1582 1583- PDO_Sqlite 1584 . Switch to sqlite3_prepare_v2() and sqlite3_close_v2() functions (rasmus) 1585 1586- PHPDBG 1587 . Added extended_value to opcode dump output. (Sara) 1588 1589- Session: 1590 . Fixed bug #73461 (Prohibit session save handler recursion). (Yasuo) 1591 . PR #2233 Removed register_globals related code and "!" can be used as $_SESSION key name. (Yasuo) 1592 . Improved bug #73100 fix. 'user' save handler can only be set by session_set_save_handler() 1593 . Fixed bug #74514 (5 session functions incorrectly warn when calling in 1594 read-only/getter mode). (Yasuo) 1595 . Fixed bug #74936 (session_cache_expire/cache_limiter/save_path() trigger a 1596 warning in read mode). (morozov) 1597 . Fixed bug #74941 (session fails to start after having headers sent). 1598 (morozov) 1599 1600- Sodium: 1601 . New cryptographic extension 1602 . Added missing bindings for libsodium > 1.0.13. (Frank) 1603 1604- SPL: 1605 . Fixed bug #71412 (Incorrect arginfo for ArrayIterator::__construct). 1606 (tysonandre775 at hotmail dot com) 1607 . Added spl_object_id(). (Tyson Andre) 1608 1609- SQLite3: 1610 . Implement writing to blobs. (bohwaz at github dot com) 1611 . Update to Sqlite 3.20.1. (cmb) 1612 1613- Standard: 1614 . Fixed bug #69442 (closing of fd incorrect when PTS enabled). (jaytaph) 1615 . Fixed bug #74300 (unserialize accepts two plus/minus signs for float number exponent part). 1616 (xKerman) 1617 . Compatibility with libargon2 versions 20161029 and 20160821. 1618 (charlesportwoodii at erianna dot com) 1619 . Fixed Bug #74737 (mysqli_get_client_info reflection info). 1620 (mhagstrand at gmail dot com) 1621 . Add support for extension name as argument to dl(). 1622 (francois at tekwire dot net) 1623 . Fixed bug #74851 (uniqid() without more_entropy performs badly). 1624 (Emmanuel Dreyfus) 1625 . Fixed bug #74103 (heap-use-after-free when unserializing invalid array 1626 size). (Nikita) 1627 . Fixed bug #75054 (A Denial of Service Vulnerability was found when 1628 performing deserialization). (Nikita) 1629 . Fixed bug #75170 (mt_rand() bias on 64-bit machines). (Nikita) 1630 . Fixed bug #75221 (Argon2i always throws NUL at the end). (cmb) 1631 1632- Streams: 1633 . Default ssl/single_dh_use and ssl/honor_cipher_order to true. (kelunik) 1634 1635- XML: 1636 . Moved utf8_encode() and utf8_decode() to the Standard extension. (Andrea) 1637 1638- XMLRPC: 1639 . Use Zend MM for allocation in bundled libxmlrpc (Joe) 1640 1641- ZIP: 1642 . Add support for encrypted archives. (Remi) 1643 . Use of bundled libzip is deprecated, --with-libzip option is recommended. (Remi) 1644 . Fixed Bug #73803 (Reflection of ZipArchive does not show public properties). (Remi) 1645 . ZipArchive implements countable, added ZipArchive::count() method. (Remi) 1646 . Fix segfault in php_stream_context_get_option call. (Remi) 1647 . Fixed bug #75143 (new method setEncryptionName() seems not to exist 1648 in ZipArchive). (Anatol) 1649 1650- zlib: 1651 . Expose inflate_get_status() and inflate_get_read_len() functions. 1652 (Matthew Trescott) 1653 165423 Nov 2017, PHP 7.1.12 1655 1656- Core: 1657 . Fixed bug #75420 (Crash when modifing property name in __isset for 1658 BP_VAR_IS). (Laruence) 1659 . Fixed bug #75368 (mmap/munmap trashing on unlucky allocations). (Nikita, 1660 Dmitry) 1661 1662- CLI: 1663 . Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown 1664 function). (Laruence) 1665 1666- Enchant: 1667 . Fixed bug #53070 (enchant_broker_get_path crashes if no path is set). (jelle 1668 van der Waa, cmb) 1669 . Fixed bug #75365 (Enchant still reports version 1.1.0). (cmb) 1670 1671- Exif: 1672 . Fixed bug #75301 (Exif extension has built in revision version). (Peter 1673 Kokot) 1674 1675- GD: 1676 . Fixed bug #65148 (imagerotate may alter image dimensions). (cmb) 1677 . Fixed bug #75437 (Wrong reflection on imagewebp). (Fabien Villepinte) 1678 1679- intl: 1680 . Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead 1681 of destination). (andrewnester) 1682 1683- interbase: 1684 . Fixed bug #75453 (Incorrect reflection for ibase_[p]connect). (villfa) 1685 1686- Mysqli: 1687 . Fixed bug #75434 (Wrong reflection for mysqli_fetch_all function). (Fabien 1688 Villepinte) 1689 1690- OCI8: 1691 . Fixed valgrind issue. (Tianfang Yang) 1692 1693- OpenSSL: 1694 . Fixed bug #75363 (openssl_x509_parse leaks memory). (Bob, Jakub Zelenka) 1695 . Fixed bug #75307 (Wrong reflection for openssl_open function). (villfa) 1696 1697- Opcache: 1698 . Fixed bug #75373 (Warning Internal error: wrong size calculation). (Laruence, Dmitry) 1699 1700- PGSQL: 1701 . Fixed bug #75419 (Default link incorrectly cleared/linked by pg_close()). (Sara) 1702 1703- SOAP: 1704 . Fixed bug #75464 (Wrong reflection on SoapClient::__setSoapHeaders). (villfa) 1705 1706- Zlib: 1707 . Fixed bug #75299 (Wrong reflection on inflate_init and inflate_add). (Fabien 1708 Villepinte) 1709 171026 Oct 2017, PHP 7.1.11 1711 1712- Core: 1713 . Fixed bug #75241 (Null pointer dereference in zend_mm_alloc_small()). 1714 (Laruence) 1715 . Fixed bug #75236 (infinite loop when printing an error-message). (Andrea) 1716 . Fixed bug #75252 (Incorrect token formatting on two parse errors in one 1717 request). (Nikita) 1718 . Fixed bug #75220 (Segfault when calling is_callable on parent). 1719 (andrewnester) 1720 . Fixed bug #75290 (debug info of Closures of internal functions contain 1721 garbage argument names). (Andrea) 1722 1723- Apache2Handler: 1724 . Fixed bug #75311 (error: 'zend_hash_key' has no member named 'arKey' in 1725 apache2handler). (mcarbonneaux) 1726 1727- Date: 1728 . Fixed bug #75055 (Out-Of-Bounds Read in timelib_meridian()). (Derick) 1729 1730- Hash: 1731 . Fixed bug #75303 (sha3 hangs on bigendian). (Remi) 1732 1733- Intl: 1734 . Fixed bug #75318 (The parameter of UConverter::getAliases() is not 1735 optional). (cmb) 1736 1737- litespeed: 1738 . Fixed bug #75248 (Binary directory doesn't get created when building 1739 only litespeed SAPI). (petk) 1740 . Fixed bug #75251 (Missing program prefix and suffix). (petk) 1741 1742- mcrypt: 1743 . Fixed bug #72535 (arcfour encryption stream filter crashes php). (Leigh) 1744 1745- MySQLi: 1746 . Fixed bug #75018 (Data corruption when reading fields of bit type). (Anatol) 1747 1748- OCI8: 1749 . Fixed incorrect reference counting. (Dmitry, Tianfang Yang) 1750 1751- Opcache 1752 . Fixed bug #75255 (Request hangs and not finish). (Dmitry) 1753 1754- PCRE: 1755 . Fixed bug #75207 (applied upstream patch for CVE-2016-1283). (Anatol) 1756 1757- PDO_mysql: 1758 . Fixed bug #75177 (Type 'bit' is fetched as unexpected string). (Anatol) 1759 1760- SPL: 1761 . Fixed bug #73629 (SplDoublyLinkedList::setIteratorMode masks intern flags). 1762 (J. Jeising, cmb) 1763 176428 Sep 2017, PHP 7.1.10 1765 1766- Core: 1767 . Fixed bug #75042 (run-tests.php issues with EXTENSION block). (John Boehr) 1768 1769- BCMath: 1770 . Fixed bug #44995 (bcpowmod() fails if scale != 0). (cmb) 1771 . Fixed bug #46781 (BC math handles minus zero incorrectly). (cmb) 1772 . Fixed bug #54598 (bcpowmod() may return 1 if modulus is 1). (okano1220, cmb) 1773 . Fixed bug #75178 (bcpowmod() misbehaves for non-integer base or modulus). (cmb) 1774 1775- CLI server: 1776 . Fixed bug #70470 (Built-in server truncates headers spanning over TCP 1777 packets). (bouk) 1778 1779- CURL: 1780 . Fixed bug #75093 (OpenSSL support not detected). (Remi) 1781 1782- GD: 1783 . Fixed bug #75124 (gdImageGrayScale() may produce colors). (cmb) 1784 . Fixed bug #75139 (libgd/gd_interpolation.c:1786: suspicious if ?). (cmb) 1785 1786- Gettext: 1787 . Fixed bug #73730 (textdomain(null) throws in strict mode). (cmb) 1788 1789- Intl: 1790 . Fixed bug #75090 (IntlGregorianCalendar doesn't have constants from parent 1791 class). (tpunt) 1792 . Fixed bug #75193 (segfault in collator_convert_object_to_string). (Remi) 1793 1794- PDO_OCI: 1795 . Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized 1796 before PHP-FPM sets it up). (Ingmar Runge) 1797 1798- SPL: 1799 . Fixed bug #75155 (AppendIterator::append() is broken when appending another 1800 AppendIterator). (Nikita) 1801 . Fixed bug #75173 (incorrect behavior of AppendIterator::append in foreach loop). 1802 (jhdxr) 1803 1804- Standard: 1805 . Fixed bug #75152 (signed integer overflow in parse_iv). (Laruence) 1806 . Fixed bug #75097 (gethostname fails if your host name is 64 chars long). (Andrea) 1807 180831 Aug 2017, PHP 7.1.9 1809 1810- Core: 1811 . Fixed bug #74947 (Segfault in scanner on INF number). (Laruence) 1812 . Fixed bug #74954 (null deref and segfault in zend_generator_resume()). (Bob) 1813 . Fixed bug #74725 (html_errors=1 breaks unhandled exceptions). (Andrea) 1814 . Fixed bug #75063 (Main CWD initialized with wrong codepage). (Anatol) 1815 . Fixed bug #75349 (NAN comparison). (Sara) 1816 1817- cURL: 1818 . Fixed bug #74125 (Fixed finding CURL on systems with multiarch support). 1819 (cebe) 1820 1821- Date: 1822 . Fixed bug #75002 (Null Pointer Dereference in timelib_time_clone). (Derick) 1823 1824- Intl: 1825 . Fixed bug #74993 (Wrong reflection on some locale_* functions). (Sara) 1826 1827- Mbstring: 1828 . Fixed bug #71606 (Segmentation fault mb_strcut with HTML-ENTITIES encoding). 1829 (cmb) 1830 . Fixed bug #62934 (mb_convert_kana() does not convert iteration marks). 1831 (Nikita) 1832 . Fixed bug #75001 (Wrong reflection on mb_eregi_replace). (Fabien 1833 Villepinte) 1834 1835- MySQLi: 1836 . Fixed bug #74968 (PHP crashes when calling mysqli_result::fetch_object with 1837 an abstract class). (Anatol) 1838 1839- OCI8: 1840 . Expose oci_unregister_taf_callback() (Tianfang Yang) 1841 1842- Opcache: 1843 . Fixed bug #74980 (Narrowing occurred during type inference). (Laruence) 1844 1845- phar: 1846 . Fixed bug #74991 (include_path has a 4096 char limit in some cases). 1847 (bwbroersma) 1848 1849- Reflection: 1850 . Fixed bug #74949 (null pointer dereference in _function_string). (Laruence) 1851 1852- Session: 1853 . Fixed bug #74892 (Url Rewriting (trans_sid) not working on urls that start 1854 with "#"). (Andrew Nester) 1855 . Fixed bug #74833 (SID constant created with wrong module number). (Anatol) 1856 1857- SimpleXML: 1858 . Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces). 1859 (Laruence) 1860 1861- SPL: 1862 . Fixed bug #75049 (spl_autoload_unregister can't handle 1863 spl_autoload_functions results). (Laruence) 1864 . Fixed bug #74669 (Unserialize ArrayIterator broken). (Andrew Nester) 1865 . Fixed bug #74977 (Appending AppendIterator leads to segfault). 1866 (Andrew Nester) 1867 . Fixed bug #75015 (Crash in recursive iterator destructors). (Julien) 1868 1869- Standard: 1870 . Fixed bug #75075 (unpack with X* causes infinity loop). (Laruence) 1871 . Fixed bug #74103 (heap-use-after-free when unserializing invalid array 1872 size). (Nikita) 1873 . Fixed bug #75054 (A Denial of Service Vulnerability was found when 1874 performing deserialization). (Nikita) 1875 1876- WDDX: 1877 . Fixed bug #73793 (WDDX uses wrong decimal seperator). (cmb) 1878 1879- XMLRPC: 1880 . Fixed bug #74975 (Incorrect xmlrpc serialization for classes with declared 1881 properties). (blar) 1882 188303 Aug 2017, PHP 7.1.8 1884 1885- Core: 1886 . Fixed bug #74832 (Loading PHP extension with already registered function 1887 name leads to a crash). (jpauli) 1888 . Fixed bug #74780 (parse_url() broken when query string contains colon). 1889 (jhdxr) 1890 . Fixed bug #74761 (Unary operator expected error on some systems). (petk) 1891 . Fixed bug #73900 (Use After Free in unserialize() SplFixedArray). (nikic) 1892 . Fixed bug #74923 (Crash when crawling through network share). (Anatol) 1893 . Fixed bug #74913 (fixed incorrect poll.h include). (petk) 1894 . Fixed bug #74906 (fixed incorrect errno.h include). (petk) 1895 1896- Date: 1897 . Fixed bug #74852 (property_exists returns true on unknown DateInterval 1898 property). (jhdxr) 1899 1900- OCI8: 1901 . Fixed bug #74625 (Integer overflow in oci_bind_array_by_name). (Ingmar Runge) 1902 1903- Opcache: 1904 . Fixed bug #74623 (Infinite loop in type inference when using HTMLPurifier). 1905 (nikic) 1906 1907- OpenSSL: 1908 . Fixed bug #74798 (pkcs7_en/decrypt does not work if \x0a is used in content). 1909 (Anatol) 1910 . Added OPENSSL_DONT_ZERO_PAD_KEY constant to prevent key padding and fix bug 1911 #71917 (openssl_open() returns junk on envelope < 16 bytes) and bug #72362 1912 (OpenSSL Blowfish encryption is incorrect for short keys). (Jakub Zelenka) 1913 1914- PDO: 1915 . Fixed bug #69356 (PDOStatement::debugDumpParams() truncates query). (Adam 1916 Baratz) 1917 1918- SPL: 1919 . Fixed bug #73471 (PHP freezes with AppendIterator). (jhdxr) 1920 1921- SQLite3: 1922 . Fixed bug #74883 (SQLite3::__construct() produces "out of memory" exception 1923 with invalid flags). (Anatol) 1924 1925- Wddx: 1926 . Fixed bug #73173 (huge memleak when wddx_unserialize). 1927 (tloi at fortinet dot com) 1928 1929- zlib: 1930 . Fixed bug #73944 (dictionary option of inflate_init() does not work). 1931 (wapmorgan) 1932 193306 Jul 2017, PHP 7.1.7 1934 1935- Core: 1936 . Fixed bug #74738 (Multiple [PATH=] and [HOST=] sections not properly 1937 parsed). (Manuel Mausz) 1938 . Fixed bug #74658 (Undefined constants in array properties result in broken 1939 properties). (Laruence) 1940 . Fixed misparsing of abstract unix domain socket names. (Sara) 1941 . Fixed bug #74603 (PHP INI Parsing Stack Buffer Overflow Vulnerability). 1942 (Stas) 1943 . Fixed bug #74101, bug #74614 (Unserialize Heap Use-After-Free (READ: 1) in 1944 zval_get_type). (Nikita) 1945 . Fixed bug #74111 (Heap buffer overread (READ: 1) finish_nested_data from 1946 unserialize). (Nikita) 1947 . Fixed bug #74819 (wddx_deserialize() heap out-of-bound read via 1948 php_parse_date()). (Derick) 1949 1950- Date: 1951 . Fixed bug #74639 (implement clone for DatePeriod and DateInterval). 1952 (andrewnester) 1953 1954- DOM: 1955 . Fixed bug #69373 (References to deleted XPath query results). (ttoohey) 1956 1957- GD: 1958 . Fixed bug #74435 (Buffer over-read into uninitialized memory). (cmb) 1959 1960- Intl: 1961 . Fixed bug #73473 (Stack Buffer Overflow in msgfmt_parse_message). (libnex) 1962 . Fixed bug #74705 (Wrong reflection on Collator::getSortKey and 1963 collator_get_sort_key). (Tyson Andre, Remi) 1964 1965- Mbstring: 1966 . Add oniguruma upstream fix (CVE-2017-9224, CVE-2017-9226, CVE-2017-9227, 1967 CVE-2017-9228, CVE-2017-9229) (Remi, Mamoru TASAKA) 1968 1969- OCI8: 1970 . Add TAF callback (PR #2459). (KoenigsKind) 1971 1972- Opcache: 1973 . Fixed bug #74663 (Segfault with opcache.memory_protect and 1974 validate_timestamp). (Laruence) 1975 . Revert opcache.enable_cli to default disabled. (Nikita) 1976 1977- OpenSSL: 1978 . Fixed bug #74720 (pkcs7_en/decrypt does not work if \x1a is used in 1979 content). (Anatol) 1980 . Fixed bug #74651 (negative-size-param (-1) in memcpy in zif_openssl_seal()). 1981 (Stas) 1982 1983- PDO_OCI: 1984 . Support Instant Client 12.2 in --with-pdo-oci configure option. 1985 (Tianfang Yang) 1986 1987- Reflection: 1988 . Fixed bug #74673 (Segfault when cast Reflection object to string with 1989 undefined constant). (Laruence) 1990 1991- SPL: 1992 . Fixed bug #74478 (null coalescing operator failing with SplFixedArray). 1993 (jhdxr) 1994 1995- FTP: 1996 . Fixed bug #74598 (ftp:// wrapper ignores context arg). (Sara) 1997 1998- PHAR: 1999 . Fixed bug #74386 (Phar::__construct reflection incorrect). (villfa) 2000 2001- SOAP 2002 . Fixed bug #74679 (Incorrect conversion array with WSDL_CACHE_MEMORY). 2003 (Dmitry) 2004 2005- Streams: 2006 . Fixed bug #74556 (stream_socket_get_name() returns '\0'). (Sara) 2007 20088 Jun 2017, PHP 7.1.6 2009 2010- Core: 2011 . Fixed bug #74600 (crash (SIGSEGV) in _zend_hash_add_or_update_i). 2012 (Laruence) 2013 . Fixed bug #74546 (SIGILL in ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST). 2014 (Laruence) 2015 . Fixed bug #74589 (__DIR__ wrong for unicode character). (Anatol) 2016 2017- intl: 2018 . Fixed bug #74468 (wrong reflection on Collator::sortWithSortKeys). (villfa) 2019 2020- MySQLi: 2021 . Fixed bug #74547 (mysqli::change_user() doesn't accept null as $database 2022 argument w/strict_types). (Anatol) 2023 2024- Opcache: 2025 . Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled). (Laruence) 2026 2027- phar: 2028 . Fixed bug #51918 (Phar::webPhar() does not handle requests sent through PUT 2029 and DELETE method). (Christian Weiske) 2030 2031- Readline: 2032 . Fixed bug #74490 (readline() moves the cursor to the beginning of the line). 2033 (Anatol) 2034 2035- Standard: 2036 . Fixed bug #74510 (win32/sendmail.c anchors CC header but not BCC). 2037 (Damian Wadley, Anatol) 2038 2039- xmlreader: 2040 . Fixed bug #74457 (Wrong reflection on XMLReader::expand). (villfa) 2041 204211 May 2017, PHP 7.1.5 2043 2044- Core: 2045 . Fixed bug #74408 (Endless loop bypassing execution time limit). (Laruence) 2046 . Fixed bug #74353 (Segfault when killing within bash script trap code). 2047 (Laruence) 2048 . Fixed bug #74340 (Magic function __get has different behavior in php 7.1.x). 2049 (Nikita) 2050 . Fixed bug #74188 (Null coalescing operator fails for undeclared static 2051 class properties). (tpunt) 2052 . Fixed bug #74444 (multiple catch freezes in some cases). (David Matějka) 2053 . Fixed bug #74410 (stream_select() is broken on Windows Nanoserver). 2054 (Matt Ficken) 2055 . Fixed bug #74337 (php-cgi.exe crash on facebook callback). 2056 (Anton Serbulov) 2057 . Patch for bug #74216 was reverted. (Anatol) 2058 2059- Date: 2060 . Fixed bug #74404 (Wrong reflection on DateTimeZone::getTransitions). 2061 (krakjoe) 2062 . Fixed bug #74080 (add constant for RFC7231 format datetime). (duncan3dc) 2063 2064- DOM: 2065 . Fixed bug #74416 (Wrong reflection on DOMNode::cloneNode). 2066 (Remi, Fabien Villepinte) 2067 2068- Fileinfo: 2069 . Fixed bug #74379 (syntax error compile error in libmagic/apprentice.c). 2070 (Laruence) 2071 2072- GD: 2073 . Fixed bug #74343 (compile fails on solaris 11 with system gd2 library). 2074 (krakjoe) 2075 2076- MySQLi: 2077 . Fixed bug #74432 (mysqli_connect adding ":3306" to $host if $port parameter 2078 not given). (Anatol) 2079 2080- MySQLnd: 2081 . Fixed bug #74376 (Invalid free of persistent results on error/connection 2082 loss). (Yussuf Khalil) 2083 2084- Intl: 2085 . Fixed bug #65683 (Intl does not support DateTimeImmutable). (Ben Scholzen) 2086 . Fixed bug #74298 (IntlDateFormatter->format() doesn't return 2087 microseconds/fractions). (Andrew Nester) 2088 . Fixed bug #74433 (wrong reflection for Normalizer methods). (villfa) 2089 . Fixed bug #74439 (wrong reflection for Locale methods). (villfa) 2090 2091- Opcache: 2092 . Fixed bug #74456 (Segmentation error while running a script in CLI mode). 2093 (Laruence) 2094 . Fixed bug #74431 (foreach infinite loop). (Nikita) 2095 . Fixed bug #74442 (Opcached version produces a nested array). (Nikita) 2096 2097- OpenSSL: 2098 . Fixed bug #73833 (null character not allowed in openssl_pkey_get_private). 2099 (Jakub Zelenka) 2100 . Fixed bug #73711 (Segfault in openssl_pkey_new when generating DSA or DH 2101 key). (Jakub Zelenka) 2102 . Fixed bug #74341 (openssl_x509_parse fails to parse ASN.1 UTCTime without 2103 seconds). (Moritz Fain) 2104 . Fixed bug #73808 (iv length warning too restrictive for aes-128-ccm). 2105 (Jakub Zelenka) 2106 2107- phar: 2108 . Fixed bug #74383 (phar method parameters reflection correction). 2109 (mhagstrand) 2110 2111- Readline: 2112 . Fixed bug #74489 (readline() immediately returns false in interactive 2113 console mode). (Anatol) 2114 2115- Standard: 2116 . Fixed bug #72071 (setcookie allows max-age to be negative). (Craig Duncan) 2117 . Fixed bug #74361 (Compaction in array_rand() violates COW). (Nikita) 2118 2119- Streams: 2120 . Fixed bug #74429 (Remote socket URI with unique persistence identifier 2121 broken). (Sara) 2122 212313 Apr 2017, PHP 7.1.4 2124 2125- Core: 2126 . Fixed bug #74149 (static embed SAPI linkage error). (krakjoe) 2127 . Fixed bug #73370 (falsely exits with "Out of Memory" when using 2128 USE_ZEND_ALLOC=0). (Nikita) 2129 . Fixed bug #73960 (Leak with instance method calling static method with 2130 referenced return). (Nikita) 2131 . Fixed bug #69676 (Resolution of self::FOO in class constants not correct). 2132 (Nikita) 2133 . Fixed bug #74265 (Build problems after 7.0.17 release: undefined reference 2134 to `isfinite'). (Nikita) 2135 . Fixed bug #74302 (yield fromLABEL is over-greedy). (Sara) 2136 2137- Apache: 2138 . Reverted patch for bug #61471, fixes bug #74318. (Anatol) 2139 2140- Date: 2141 . Fixed bug #72096 (Swatch time value incorrect for dates before 1970). (mcq8) 2142 2143- DOM: 2144 . Fixed bug #74004 (LIBXML_NOWARNING flag ingnored on loadHTML*). 2145 (somedaysummer) 2146 2147- iconv: 2148 . Fixed bug #74230 (iconv fails to fail on surrogates). (Anatol) 2149 2150- OCI8: 2151 . Fixed uninitialized data causing random crash. (Dmitry) 2152 2153- Opcache: 2154 . Fixed bug #74250 (OPcache compilation performance regression in PHP 5.6/7 2155 with huge classes). (Nikita) 2156 2157- OpenSSL: 2158 . Fixed bug #72333 (fwrite() on non-blocking SSL sockets doesn't work). 2159 (Jakub Zelenka) 2160 2161- PDO MySQL: 2162 . Fixed bug #71003 (Expose MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT to PDO 2163 interface). (Thomas Orozco) 2164 2165- SPL: 2166 . Fixed bug #74058 (ArrayObject can not notice changes). (Andrew Nester) 2167 2168- Sqlite: 2169 . Implemented FR #74217 (Allow creation of deterministic sqlite functions). 2170 (Andrew Nester) 2171 2172- Streams: 2173 . Fixed bug #74216 (Correctly fail on invalid IP address ports). (Sara) 2174 2175- Zlib: 2176 . Fixed bug #74240 (deflate_add can allocate too much memory). (Matt Bonneau) 2177 217816 Mar 2017, PHP 7.1.3 2179 2180- Core: 2181 . Fixed bug #74157 (Segfault with nested generators). (Laruence) 2182 . Fixed bug #74164 (PHP hangs when an invalid value is dynamically passed to 2183 typehinted by-ref arg). (Laruence) 2184 . Fixed bug #74093 (Maximum execution time of n+2 seconds exceed not written 2185 in error_log). (Laruence) 2186 . Fixed bug #73989 (PHP 7.1 Segfaults within Symfony test suite). 2187 (Dmitry, Laruence) 2188 . Fixed bug #74084 (Out of bound read - zend_mm_alloc_small). (Laruence) 2189 . Fixed bug #73807 (Performance problem with processing large post request). 2190 (Nikita) 2191 . Fixed bug #73998 (array_key_exists fails on arrays created by 2192 get_object_vars). (mhagstrand) 2193 . Fixed bug #73954 (NAN check fails on Alpine Linux with musl). (Andrea) 2194 . Fixed bug #73677 (Generating phar.phar core dump with gcc ASAN enabled 2195 build). (ondrej) 2196 2197- Apache: 2198 . Fixed bug #61471 (Incomplete POST does not timeout but is passed to PHP). 2199 (Zheng Shao) 2200 2201- Date: 2202 . Fixed bug #73837 ("new DateTime()" sometimes returns 1 second ago value). 2203 (Derick) 2204 2205- FPM: 2206 . Fixed bug #69860 (php-fpm process accounting is broken with keepalive). 2207 (Denis Yeldandi) 2208 2209- Hash: 2210 . Fixed bug #73127 (gost-crypto hash incorrect if input data contains long 2211 0xFF sequence). (Grundik) 2212 2213- GD: 2214 . Fixed bug #74031 (ReflectionFunction for imagepng is missing last two 2215 parameters). (finwe) 2216 2217- Mysqlnd: 2218 . Fixed bug #74021 (fetch_array broken data. Data more then MEDIUMBLOB). 2219 (Andrew Nester, Nikita) 2220 2221- Opcache: 2222 . Fixed bug #74152 (if statement says true to a null variable). (Laruence) 2223 . Fixed bug #74019 (Segfault with list). (Laruence) 2224 2225- OpenSSL: 2226 . Fixed bug #74022 (PHP Fast CGI crashes when reading from a pfx file). 2227 (Anatol) 2228 . Fixed bug #74099 (Memory leak with openssl_encrypt()). (Andrew Nester) 2229 . Fixed bug #74159 (Writing a large buffer to a non-blocking encrypted stream 2230 fails with "bad write retry"). (trowski) 2231 2232- PDO_OCI: 2233 . Fixed bug #54379 (PDO_OCI: UTF-8 output gets truncated). (gureedo / Oracle) 2234 2235- SQLite3: 2236 . Fixed bug #74413 (incorrect reflection for SQLite3::enableExceptions). 2237 (krakjoe) 2238 2239- Standard: 2240 . Fixed bug #74005 (mail.add_x_header causes RFC-breaking lone line feed). 2241 (Anatol) 2242 . Fixed bug #74041 (substr_count with length=0 broken). (Nikita) 2243 . Fixed bug #73118 (is_callable callable name reports misleading value for 2244 anonymous classes). (Adam Saponara) 2245 . Fixed bug #74105 (PHP on Linux should use /dev/urandom when getrandom is 2246 not available). (Benjamin Robin) 2247 . Fixed bug #74708 (Invalid Reflection signatures for random_bytes and 2248 random_int). (Tyson Andre, Remi) 2249 2250- Streams: 2251 . Fixed bug #73496 (Invalid memory access in zend_inline_hash_func). 2252 (Laruence) 2253 . Fixed bug #74090 (stream_get_contents maxlength>-1 returns empty string). 2254 (Anatol) 2255 225616 Feb 2017, PHP 7.1.2 2257 2258- Core: 2259 . Improved GENERATOR_CREATE opcode handler. (Bob, Dmitry) 2260 . Fixed bug #73877 (readlink() returns garbage for UTF-8 paths). (Anatol) 2261 . Fixed bug #73876 (Crash when exporting **= in expansion of assign op). 2262 (Sara) 2263 . Fixed bug #73962 (bug with symlink related to cyrillic directory). (Anatol) 2264 . Fixed bug #73969 (segfault in debug_print_backtrace). (andrewnester) 2265 . Fixed bug #73994 (arginfo incorrect for unpack). (krakjoe) 2266 . Fixed bug #73973 (assertion error in debug_zval_dump). (andrewnester) 2267 2268- DOM: 2269 . Fixed bug #54382 (getAttributeNodeNS doesn't get xmlns* attributes). 2270 (aboks) 2271 2272- DTrace: 2273 . Fixed bug #73965 (DTrace reported as enabled when disabled). (Remi) 2274 2275- FCGI: 2276 . Fixed bug #73904 (php-cgi fails to load -c specified php.ini file). (Anatol) 2277 . Fixed bug #72898 (PHP_FCGI_CHILDREN is not included in phpinfo()). (Anatol) 2278 2279- FPM: 2280 . Fixed bug #69865 (php-fpm does not close stderr when using syslog). 2281 (m6w6) 2282 2283- GD: 2284 . Fixed bug #73968 (Premature failing of XBM reading). (cmb) 2285 2286- GMP: 2287 . Fixed bug #69993 (test for gmp.h needs to test machine includes). 2288 (Jordan Gigov) 2289 2290- Hash: 2291 . Added hash_hkdf() function. (Andrey Andreev) 2292 . Fixed bug #73961 (environmental build dependency in hash sha3 source). 2293 (krakjoe) 2294 2295- Intl: 2296 . Fix bug #73956 (Link use CC instead of CXX). (Remi) 2297 2298- LDAP: 2299 . Fixed bug #73933 (error/segfault with ldap_mod_replace and opcache). 2300 (Laruence) 2301 2302- MySQLi: 2303 . Fixed bug #73949 (leak in mysqli_fetch_object). (krakjoe) 2304 2305- Mysqlnd: 2306 . Fixed bug #69899 (segfault on close() after free_result() with mysqlnd). 2307 (Richard Fussenegger) 2308 2309- Opcache: 2310 . Fixed bug #73983 (crash on finish work with phar in cli + opcache). 2311 (Anatol) 2312 2313- OpenSSL: 2314 . Fixed bug #71519 (add serial hex to return value array). (xrobau) 2315 . Fixed bug #73692 (Compile ext/openssl with openssl 1.1.0 on Win). (Anatol) 2316 . Fixed bug #73978 (openssl_decrypt triggers bug in PDO). (Jakub Zelenka) 2317 2318- PDO_Firebird: 2319 . Implemented FR #72583 (All data are fetched as strings). (Dorin Marcoci) 2320 2321- PDO_PgSQL: 2322 . Fixed bug #73959 (lastInsertId fails to throw an exception for wrong 2323 sequence name). (andrewnester) 2324 2325- Phar: 2326 . Fixed bug #70417 (PharData::compress() doesn't close temp file). (cmb) 2327 2328- posix: 2329 . Fixed bug #71219 (configure script incorrectly checks for ttyname_r). (atoh) 2330 2331- Session: 2332 . Fixed bug #69582 (session not readable by root in CLI). (EvgeniySpinov) 2333 2334- SPL: 2335 . Fixed bug #73896 (spl_autoload() crashes when calls magic _call()). (Dmitry) 2336 2337- Standard: 2338 . Fixed bug #69442 (closing of fd incorrect when PTS enabled). (jaytaph) 2339 . Fixed bug #47021 (SoapClient stumbles over WSDL delivered with 2340 "Transfer-Encoding: chunked"). (Rowan Collins) 2341 . Fixed bug #72974 (imap is undefined service on AIX). (matthieu.sarter) 2342 . Fixed bug #72979 (money_format stores wrong length AIX). (matthieu.sarter) 2343 . Fixed bug #73374 (intval() with base 0 should detect binary). (Leigh) 2344 . Fixed bug #69061 (mail.log = syslog contains double information). 2345 (Tom Sommer) 2346 2347- ZIP: 2348 . Fixed bug #70103 (ZipArchive::addGlob ignores remove_all_path option). (cmb, 2349 Mitch Hagstrand) 2350 235119 Jan 2017, PHP 7.1.1 2352 2353- Core: 2354 . Fixed bug #73792 (invalid foreach loop hangs script). (Dmitry) 2355 . Fixed bug #73686 (Adding settype()ed values to ArrayObject results in 2356 references). (Nikita, Laruence) 2357 . Fixed bug #73663 ("Invalid opcode 65/16/8" occurs with a variable created 2358 with list()). (Laruence) 2359 . Fixed bug #73727 (ZEND_MM_BITSET_LEN is "undefined symbol" in 2360 zend_bitset.h). (Nikita) 2361 . Fixed bug #73753 (unserialized array pointer not advancing). (David Walker) 2362 . Fixed bug #73783 (SIG_IGN doesn't work when Zend Signals is enabled). 2363 (David Walker) 2364 2365- CLI: 2366 . Fixed bug #72555 (CLI output(japanese) on Windows). (Anatol) 2367 2368- COM: 2369 . Fixed bug #73679 (DOTNET read access violation using invalid codepage). 2370 (Anatol) 2371 2372- DOM: 2373 . Fixed bug #67474 (getElementsByTagNameNS filter on default ns). (aboks) 2374 2375- Mbstring: 2376 . Fixed bug #73646 (mb_ereg_search_init null pointer dereference). 2377 (Laruence) 2378 2379- Mysqli: 2380 . Fixed bug #73462 (Persistent connections don't set $connect_errno). 2381 (darkain) 2382 2383- Mysqlnd: 2384 . Optimized handling of BIT fields - less memory copies and lower memory 2385 usage. (Andrey) 2386 . Fixed bug #73800 (sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE). 2387 (vanviegen) 2388 2389- Opcache: 2390 . Fixed bug #73789 (Strange behavior of class constants in switch/case block). 2391 (Laruence) 2392 . Fixed bug #73746 (Method that returns string returns UNKNOWN:0 instead). 2393 (Laruence) 2394 . Fixed bug #73654 (Segmentation fault in zend_call_function). (Nikita) 2395 . Fixed bug #73668 ("SIGFPE Arithmetic exception" in opcache when divide by 2396 minus 1). (Nikita) 2397 . Fixed bug #73847 (Recursion when a variable is redefined as array). (Nikita) 2398 2399- PDO_Firebird: 2400 . Fixed bug #72931 (PDO_FIREBIRD with Firebird 3.0 not work on returning 2401 statement). (Dorin Marcoci) 2402 2403- phpdbg: 2404 . Fixed bug #73794 (Crash (out of memory) when using run and # command 2405 separator). (Bob) 2406 . Fixed bug #73704 (phpdbg shows the wrong line in files with shebang). (Bob) 2407 2408- SQLite3: 2409 . Reverted fix for bug #73530 (Unsetting result set may reset other result 2410 set). (cmb) 2411 2412- Standard: 2413 . Fixed bug #73594 (dns_get_record does not populate $additional out 2414 parameter). (Bruce Weirdan) 2415 . Fixed bug #70213 (Unserialize context shared on double class lookup). 2416 (Taoguang Chen) 2417 . Fixed bug #73154 (serialize object with __sleep function crash). (Nikita) 2418 . Fixed bug #70490 (get_browser function is very slow). (Nikita) 2419 . Fixed bug #73265 (Loading browscap.ini at startup causes high memory usage). 2420 (Nikita) 2421 . Add subject to mail log. (tomsommer) 2422 . Fixed bug #31875 (get_defined_functions additional param to exclude 2423 disabled functions). (willianveiga) 2424 2425- Zlib 2426 . Fixed bug #73373 (deflate_add does not verify that output was not truncated). 2427 (Matt Bonneau) 2428 242901 Dec 2016, PHP 7.1.0 2430 2431- Core: 2432 . Added nullable types. (Levi, Dmitry) 2433 . Added DFA optimization framework based on e-SSA form. (Dmitry, Nikita) 2434 . Added specialized opcode handlers (e.g. ZEND_ADD_LONG_NO_OVERFLOW). 2435 (Dmitry) 2436 . Added [] = as alternative construct to list() =. (Bob) 2437 . Added void return type. (Andrea) 2438 . Added support for negative string offsets in string offset syntax and 2439 various string functions. (Francois) 2440 . Added a form of the list() construct where keys can be specified. (Andrea) 2441 . Implemented safe execution timeout handling, that prevents random crashes 2442 after "Maximum execution time exceeded" error. (Dmitry) 2443 . Implemented the RFC `Support Class Constant Visibility`. (Sean DuBois, 2444 Reeze Xia, Dmitry) 2445 . Implemented the RFC `Catching multiple exception types`. (Bronislaw Bialek, 2446 Pierrick) 2447 . Implemented logging to syslog with dynamic error levels. (Jani Ollikainen) 2448 . Implemented FR #72614 (Support "nmake test" on building extensions by 2449 phpize). (Yuji Uchiyama) 2450 . Implemented RFC: Iterable. (Aaron Piotrowski) 2451 . Implemented RFC: Closure::fromCallable (Danack) 2452 . Implemented RFC: Replace "Missing argument" warning with "\ArgumentCountError" 2453 exception. (Dmitry, Davey) 2454 . Implemented RFC: Fix inconsistent behavior of $this variable. (Dmitry) 2455 . Fixed bug #73585 (Logging of "Internal Zend error - Missing class 2456 information" missing class name). (Laruence) 2457 . Fixed memory leak(null coalescing operator with Spl hash). (Tyson Andre) 2458 . Fixed bug #72736 (Slow performance when fetching large dataset with mysqli 2459 / PDO). (Dmitry) 2460 . Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine 2461 overflow). (cmb) 2462 . Fixed bug #72696 (imagefilltoborder stackoverflow on truecolor images). 2463 (cmb) 2464 . Fixed bug #73350 (Exception::__toString() cause circular references). 2465 (Laruence) 2466 . Fixed bug #73329 ((Float)"Nano" == NAN). (Anatol) 2467 . Fixed bug #73288 (Segfault in __clone > Exception.toString > __get). 2468 (Laruence) 2469 . Fixed for #73240 (Write out of bounds at number_format). (Stas) 2470 . Fix pthreads detection when cross-compiling (ffontaine) 2471 . Fixed bug #73337 (try/catch not working with two exceptions inside a same 2472 operation). (Dmitry) 2473 . Fixed bug #73156 (segfault on undefined function). (Dmitry) 2474 . Fixed bug #73163 (PHP hangs if error handler throws while accessing undef 2475 const in default value). (Nikita) 2476 . Fixed bug #73172 (parse error: Invalid numeric literal). (Nikita, Anatol) 2477 . Fixed bug #73181 (parse_str() without a second argument leads to crash). 2478 (Nikita) 2479 . Fixed bug #73025 (Heap Buffer Overflow in virtual_popen of 2480 zend_virtual_cwd.c). (cmb) 2481 . Fixed bug #73058 (crypt broken when salt is 'too' long). (Anatol) 2482 . Fixed bug #72944 (Null pointer deref in zval_delref_p). (Dmitry) 2483 . Fixed bug #72943 (assign_dim on string doesn't reset hval). (Laruence) 2484 . Fixed bug #72598 (Reference is lost after array_slice()) (Nikita) 2485 . Fixed bug #72703 (Out of bounds global memory read in BF_crypt triggered by 2486 password_verify). (Anatol) 2487 . Fixed bug #72813 (Segfault with __get returned by ref). (Laruence) 2488 . Fixed bug #72767 (PHP Segfaults when trying to expand an infinite operator). 2489 (Nikita) 2490 . TypeError messages for arg_info type checks will now say "must be ... 2491 or null" where the parameter or return type accepts null. (Andrea) 2492 . Fixed bug #72857 (stream_socket_recvfrom read access violation). (Anatol) 2493 . Fixed bug #72663 (Create an Unexpected Object and Don't Invoke 2494 __wakeup() in Deserialization). (Stas) 2495 . Fixed bug #72681 (PHP Session Data Injection Vulnerability). (Stas) 2496 . Fixed bug #72742 (memory allocator fails to realloc small block to large 2497 one). (Stas) 2498 . Fixed URL rewriter. It would not rewrite '//example.com/' URL 2499 unconditionally. URL rewrite target hosts whitelist is implemented. (Yasuo) 2500 . Fixed bug #72641 (phpize (on Windows) ignores PHP_PREFIX). 2501 (Yuji Uchiyama) 2502 . Fixed bug #72683 (getmxrr broken). (Anatol) 2503 . Fixed bug #72629 (Caught exception assignment to variables ignores 2504 references). (Laruence) 2505 . Fixed bug #72594 (Calling an earlier instance of an included anonymous 2506 class fatals). (Laruence) 2507 . Fixed bug #72581 (previous property undefined in Exception after 2508 deserialization). (Laruence) 2509 . Fixed bug #72543 (Different references behavior comparing to PHP 5) 2510 (Laruence, Dmitry, Nikita) 2511 . Fixed bug #72347 (VERIFY_RETURN type casts visible in finally). (Dmitry) 2512 . Fixed bug #72216 (Return by reference with finally is not memory safe). 2513 (Dmitry) 2514 . Fixed bug #72215 (Wrong return value if var modified in finally). (Dmitry) 2515 . Fixed bug #71818 (Memory leak when array altered in destructor). (Dmitry) 2516 . Fixed bug #71539 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes) 2517 (Dmitry, Nikita) 2518 . Added new constant PHP_FD_SETSIZE. (cmb) 2519 . Added optind parameter to getopt(). (as) 2520 . Added PHP to SAPI error severity mapping for logs. (Martin Vobruba) 2521 . Fixed bug #71911 (Unable to set --enable-debug on building extensions by 2522 phpize on Windows). (Yuji Uchiyama) 2523 . Fixed bug #29368 (The destructor is called when an exception is thrown from 2524 the constructor). (Dmitry) 2525 . Implemented RFC: RNG Fixes. (Leigh) 2526 . Implemented email validation as per RFC 6531. (Leo Feyer, Anatol) 2527 . Fixed bug #72513 (Stack-based buffer overflow vulnerability in 2528 virtual_file_ex). (Stas) 2529 . Fixed bug #72573 (HTTP_PROXY is improperly trusted by some PHP libraries 2530 and applications). (Stas) 2531 . Fixed bug #72523 (dtrace issue with reflection (failed test)). (Laruence) 2532 . Fixed bug #72508 (strange references after recursive function call and 2533 "switch" statement). (Laruence) 2534 . Fixed bug #72441 (Segmentation fault: RFC list_keys). (Laruence) 2535 . Fixed bug #72395 (list() regression). (Laruence) 2536 . Fixed bug #72373 (TypeError after Generator function w/declared return type 2537 finishes). (Nikita) 2538 . Fixed bug #69489 (tempnam() should raise notice if falling back to temp dir). 2539 (Laruence, Anatol) 2540 . Fixed UTF-8 and long path support on Windows. (Anatol) 2541 . Fixed bug #53432 (Assignment via string index access on an empty string 2542 converts to array). (Nikita) 2543 . Fixed bug #62210 (Exceptions can leak temporary variables). (Dmitry, Bob) 2544 . Fixed bug #62814 (It is possible to stiffen child class members visibility). 2545 (Nikita) 2546 . Fixed bug #69989 (Generators don't participate in cycle GC). (Nikita) 2547 . Fixed bug #70228 (Memleak if return in finally block). (Dmitry) 2548 . Fixed bug #71266 (Missing separation of properties HT in foreach etc). 2549 (Dmitry) 2550 . Fixed bug #71604 (Aborted Generators continue after nested finally). 2551 (Nikita) 2552 . Fixed bug #71572 (String offset assignment from an empty string inserts 2553 null byte). (Francois) 2554 . Fixed bug #71897 (ASCII 0x7F Delete control character permitted in 2555 identifiers). (Andrea) 2556 . Fixed bug #72188 (Nested try/finally blocks losing return value). (Dmitry) 2557 . Fixed bug #72213 (Finally leaks on nested exceptions). (Dmitry, Nikita) 2558 . Fixed bug #47517 (php-cgi.exe missing UAC manifest). 2559 (maxdax15801 at users noreply github com) 2560 . Change statement and fcall extension handlers to accept frame. (Joe) 2561 . Number operators taking numeric strings now emit E_NOTICEs or E_WARNINGs 2562 when given malformed numeric strings. (Andrea) 2563 . (int), intval() where $base is 10 or unspecified, settype(), decbin(), 2564 decoct(), dechex(), integer operators and other conversions now always 2565 respect scientific notation in numeric strings. (Andrea) 2566 . Raise a compile-time warning on octal escape sequence overflow. (Sara) 2567 2568- Apache2handler: 2569 . Enable per-module logging in Apache 2.4+. (Martin Vobruba) 2570 2571- BCmath: 2572 . Fix bug #73190 (memcpy negative parameter _bc_new_num_ex). (Stas) 2573 2574- Bz2: 2575 . Fixed bug #72837 (integer overflow in bzdecompress caused heap 2576 corruption). (Stas) 2577 . Fixed bug #72613 (Inadequate error handling in bzread()). (Stas) 2578 2579- Calendar: 2580 . Fix integer overflows (Joshua Rogers) 2581 . Fixed bug #67976 (cal_days_month() fails for final month of the French 2582 calendar). (cmb) 2583 . Fixed bug #71894 (AddressSanitizer: global-buffer-overflow in 2584 zif_cal_from_jd). (cmb) 2585 2586- CLI Server: 2587 . Fixed bug #73360 (Unable to work in root with unicode chars). (Anatol) 2588 . Fixed bug #71276 (Built-in webserver does not send Date header). 2589 (see at seos fr) 2590 2591- COM: 2592 . Fixed bug #73126 (Cannot pass parameter 1 by reference). (Anatol) 2593 . Fixed bug #69579 (Invalid free in extension trait). (John Boehr) 2594 . Fixed bug #72922 (COM called from PHP does not return out parameters). 2595 (Anatol) 2596 . Fixed bug #72569 (DOTNET/COM array parameters broke in PHP7). (Anatol) 2597 . Fixed bug #72498 (variant_date_from_timestamp null dereference). (Anatol) 2598 2599- Curl 2600 . Implement support for handling HTTP/2 Server Push. (Davey) 2601 . Add curl_multi_errno(), curl_share_errno() and curl_share_strerror() 2602 functions. (Pierrick) 2603 . Fixed bug #72674 (Heap overflow in curl_escape). (Stas) 2604 . Fixed bug #72541 (size_t overflow lead to heap corruption). (Stas). 2605 . Fixed bug #71709 (curl_setopt segfault with empty CURLOPT_HTTPHEADER). 2606 (Pierrick) 2607 . Fixed bug #71929 (CURLINFO_CERTINFO data parsing error). (Pierrick) 2608 2609- Date: 2610 . Fixed bug #69587 (DateInterval properties and isset). (jhdxr) 2611 . Fixed bug #73426 (createFromFormat with 'z' format char results in 2612 incorrect time). (Derick) 2613 . Fixed bug #45554 (Inconsistent behavior of the u format char). (Derick) 2614 . Fixed bug #48225 (DateTime parser doesn't set microseconds for "now"). 2615 (Derick) 2616 . Fixed bug #52514 (microseconds are missing in DateTime class). (Derick) 2617 . Fixed bug #52519 (microseconds in DateInterval are missing). (Derick) 2618 . Fixed bug #60089 (DateTime::createFromFormat() U after u nukes microtime). 2619 (Derick) 2620 . Fixed bug #64887 (Allow DateTime modification with subsecond items). 2621 (Derick) 2622 . Fixed bug #68506 (General DateTime improvments needed for microseconds to 2623 become useful). (Derick) 2624 . Fixed bug #73109 (timelib_meridian doesn't parse dots correctly). (Derick) 2625 . Fixed bug #73247 (DateTime constructor does not initialise microseconds 2626 property). (Derick) 2627 . Fixed bug #73147 (Use After Free in PHP7 unserialize()). (Stas) 2628 . Fixed bug #73189 (Memcpy negative size parameter php_resolve_path). (Stas) 2629 . Fixed bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails 2630 parsing). (derick) 2631 . Invalid serialization data for a DateTime or DatePeriod object will now 2632 throw an instance of Error from __wakeup() or __set_state() instead of 2633 resulting in a fatal error. (Aaron Piotrowski) 2634 . Timezone initialization failure from serialized data will now throw an 2635 instance of Error from __wakeup() or __set_state() instead of resulting in 2636 a fatal error. (Aaron Piotrowski) 2637 . Export date_get_interface_ce() for extension use. (Jeremy Mikola) 2638 . Fixed bug #63740 (strtotime seems to use both sunday and monday as start of 2639 week). (Derick) 2640 2641- Dba: 2642 . Fixed bug #70825 (Cannot fetch multiple values with group in ini file). 2643 (cmb) 2644 . Data modification functions (e.g.: dba_insert()) now throw an instance of 2645 Error instead of triggering a catchable fatal error if the key is does not 2646 contain exactly two elements. (Aaron Piotrowski) 2647 2648- DOM: 2649 . Fixed bug #73150 (missing NULL check in dom_document_save_html). (Stas) 2650 . Fixed bug #66502 (DOM document dangling reference). (Sean Heelan, cmb) 2651 . Invalid schema or RelaxNG validation contexts will throw an instance of 2652 Error instead of resulting in a fatal error. (Aaron Piotrowski) 2653 . Attempting to register a node class that does not extend the appropriate 2654 base class will now throw an instance of Error instead of resulting in a 2655 fatal error. (Aaron Piotrowski) 2656 . Attempting to read an invalid or write to a readonly property will throw 2657 an instance of Error instead of resulting in a fatal error. (Aaron 2658 Piotrowski) 2659 2660- DTrace: 2661 . Disabled PHP call tracing by default (it makes significant overhead). 2662 This may be enabled again using envirionment variable USE_ZEND_DTRACE=1. 2663 (Dmitry) 2664 2665- EXIF: 2666 . Fixed bug #72735 (Samsung picture thumb not read (zero size)). (Kalle, Remi) 2667 . Fixed bug #72627 (Memory Leakage In exif_process_IFD_in_TIFF). (Stas) 2668 . Fixed bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE). 2669 (Stas) 2670 . Fixed bug #72618 (NULL Pointer Dereference in exif_process_user_comment). 2671 (Stas) 2672 2673- Filter: 2674 . Fixed bug #72972 (Bad filter for the flags FILTER_FLAG_NO_RES_RANGE and 2675 FILTER_FLAG_NO_PRIV_RANGE). (julien) 2676 . Fixed bug #73054 (default option ignored when object passed to int filter). 2677 (cmb) 2678 . Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 2679 range). (bugs dot php dot net at majkl578 dot cz) 2680 2681- FPM: 2682 . Fixed bug #72575 (using --allow-to-run-as-root should ignore missing user). 2683 (gooh) 2684 2685- FTP: 2686 . Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with 2687 require_ssl_reuse). (Benedict Singer) 2688 . Implemented FR #55651 (Option to ignore the returned FTP PASV address). 2689 (abrender at elitehosts dot com) 2690 2691- GD: 2692 . Fixed bug #73213 (Integer overflow in imageline() with antialiasing). (cmb) 2693 . Fixed bug #73272 (imagescale() is not affected by, but affects 2694 imagesetinterpolation()). (cmb) 2695 . Fixed bug #73279 (Integer overflow in gdImageScaleBilinearPalette()). (cmb) 2696 . Fixed bug #73280 (Stack Buffer Overflow in GD dynamicGetbuf). (cmb) 2697 . Fixed bug #50194 (imagettftext broken on transparent background w/o 2698 alphablending). (cmb) 2699 . Fixed bug #73003 (Integer Overflow in gdImageWebpCtx of gd_webp.c). (trylab, 2700 cmb) 2701 . Fixed bug #53504 (imagettfbbox gives incorrect values for bounding box). 2702 (Mark Plomer, cmb) 2703 . Fixed bug #73157 (imagegd2() ignores 3rd param if 4 are given). (cmb) 2704 . Fixed bug #73155 (imagegd2() writes wrong chunk sizes on boundaries). (cmb) 2705 . Fixed bug #73159 (imagegd2(): unrecognized formats may result in corrupted 2706 files). (cmb) 2707 . Fixed bug #73161 (imagecreatefromgd2() may leak memory). (cmb) 2708 . Fixed bug #67325 (imagetruecolortopalette: white is duplicated in palette). 2709 (cmb) 2710 . Fixed bug #66005 (imagecopy does not support 1bit transparency on truecolor 2711 images). (cmb) 2712 . Fixed bug #72913 (imagecopy() loses single-color transparency on palette 2713 images). (cmb) 2714 . Fixed bug #68716 (possible resource leaks in _php_image_convert()). (cmb) 2715 . Fixed bug #72709 (imagesetstyle() causes OOB read for empty $styles). (cmb) 2716 . Fixed bug #72697 (select_colors write out-of-bounds). (Stas) 2717 . Fixed bug #72730 (imagegammacorrect allows arbitrary write access). (Stas) 2718 . Fixed bug #72596 (imagetypes function won't advertise WEBP support). (cmb) 2719 . Fixed bug #72604 (imagearc() ignores thickness for full arcs). (cmb) 2720 . Fixed bug #70315 (500 Server Error but page is fully rendered). (cmb) 2721 . Fixed bug #43828 (broken transparency of imagearc for truecolor in 2722 blendingmode). (cmb) 2723 . Fixed bug #72512 (gdImageTrueColorToPaletteBody allows arbitrary write/read 2724 access). (Pierre) 2725 . Fixed bug #72519 (imagegif/output out-of-bounds access). (Pierre) 2726 . Fixed bug #72558 (Integer overflow error within _gdContributionsAlloc()). 2727 (Pierre) 2728 . Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine 2729 overflow). (Pierre) 2730 . Fixed bug #72494 (imagecropauto out-of-bounds access). (Fernando, Pierre, 2731 cmb) 2732 . Fixed bug #72404 (imagecreatefromjpeg fails on selfie). (cmb) 2733 . Fixed bug #43475 (Thick styled lines have scrambled patterns). (cmb) 2734 . Fixed bug #53640 (XBM images require width to be multiple of 8). (cmb) 2735 . Fixed bug #64641 (imagefilledpolygon doesn't draw horizontal line). (cmb) 2736 2737- Hash: 2738 . Added SHA3 fixed mode algorithms (224, 256, 384, and 512 bit). (Sara) 2739 . Added SHA512/256 and SHA512/224 algorithms. (Sara) 2740 2741- iconv: 2742 . Fixed bug #72320 (iconv_substr returns false for empty strings). (cmb) 2743 2744- IMAP: 2745 . Fixed bug #73418 (Integer Overflow in "_php_imap_mail" leads to crash). 2746 (Anatol) 2747 . An email address longer than 16385 bytes will throw an instance of Error 2748 instead of resulting in a fatal error. (Aaron Piotrowski) 2749 2750- Interbase: 2751 . Fixed bug #73512 (Fails to find firebird headers as don't use fb_config 2752 output). (Remi) 2753 2754- Intl: 2755 . Fixed bug #73007 (add locale length check). (Stas) 2756 . Fixed bug #73218 (add mitigation for ICU int overflow). (Stas) 2757 . Fixed bug #65732 (grapheme_*() is not Unicode compliant on CR LF 2758 sequence). (cmb) 2759 . Fixed bug #73007 (add locale length check). (Stas) 2760 . Fixed bug #72639 (Segfault when instantiating class that extends 2761 IntlCalendar and adds a property). (Laruence) 2762 . Fixed bug #72658 (Locale::lookup() / locale_lookup() hangs if no match 2763 found). (Anatol) 2764 . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain 2765 names). (cmb) 2766 . Fixed bug #72533 (locale_accept_from_http out-of-bounds access). (Stas) 2767 . Failure to call the parent constructor in a class extending Collator 2768 before invoking the parent methods will throw an instance of Error 2769 instead of resulting in a recoverable fatal error. (Aaron Piotrowski) 2770 . Cloning a Transliterator object may will now throw an instance of Error 2771 instead of resulting in a fatal error if cloning the internal 2772 transliterator fails. (Aaron Piotrowski) 2773 . Added IntlTimeZone::getWindowsID() and 2774 IntlTimeZone::getIDForWindowsID(). (Sara) 2775 . Fixed bug #69374 (IntlDateFormatter formatObject returns wrong utf8 value). 2776 (lenhatanh86 at gmail com) 2777 . Fixed bug #69398 (IntlDateFormatter formatObject returns wrong value when 2778 time style is NONE). (lenhatanh86 at gmail com) 2779 2780- JSON: 2781 . Introduced encoder struct instead of global which fixes bugs #66025 and 2782 #73254 related to pretty print indentation. (Jakub Zelenka) 2783 . Fixed bug #73113 (Segfault with throwing JsonSerializable). (julien) 2784 . Implemented earlier return when json_encode fails, fixes bugs #68992 2785 (Stacking exceptions thrown by JsonSerializable) and #70275 (On recursion 2786 error, json_encode can eat up all system memory). (Jakub Zelenka) 2787 . Implemented FR #46600 ("_empty_" key in objects). (Jakub Zelenka) 2788 . Exported JSON parser API including json_parser_method that can be used 2789 for implementing custom logic when parsing JSON. (Jakub Zelenka) 2790 . Escaped U+2028 and U+2029 when JSON_UNESCAPED_UNICODE is supplied as 2791 json_encode options and added JSON_UNESCAPED_LINE_TERMINATORS to restore 2792 the previous behaviour. (Eddie Kohler) 2793 2794- LDAP: 2795 . Providing an unknown modification type to ldap_batch_modify() will now 2796 throw an instance of Error instead of resulting in a fatal error. 2797 (Aaron Piotrowski) 2798 2799- Mbstring: 2800 . Fixed bug #73532 (Null pointer dereference in mb_eregi). (Laruence) 2801 . Fixed bug #66964 (mb_convert_variables() cannot detect recursion) (Yasuo) 2802 . Fixed bug #72992 (mbstring.internal_encoding doesn't inherit default_charset). 2803 (Yasuo) 2804 . Fixed bug #66797 (mb_substr only takes 32-bit signed integer). (cmb) 2805 . Fixed bug #72711 (`mb_ereg` does not clear the `$regs` parameter on 2806 failure). (ju1ius) 2807 . Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width). 2808 (cmb) 2809 . Fixed bug #72693 (mb_ereg_search increments search position when a match 2810 zero-width). (cmb) 2811 . Fixed bug #72694 (mb_ereg_search_setpos does not accept a string's last 2812 position). (cmb) 2813 . Fixed bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error). 2814 (ju1ius) 2815 . Deprecated mb_ereg_replace() eval option. (Rouven Weßling, cmb) 2816 . Fixed bug #69151 (mb_ereg should reject ill-formed byte sequence). 2817 (Masaki Kagaya) 2818 . Fixed bug #72405 (mb_ereg_replace - mbc_to_code (oniguruma) - 2819 oob read access). (Laruence) 2820 . Fixed bug #72399 (Use-After-Free in MBString (search_re)). (Laruence) 2821 . mb_ereg() and mb_eregi() will now throw an instance of ParseError if an 2822 invalid PHP expression is provided and the 'e' option is used. (Aaron 2823 Piotrowski) 2824 2825- Mcrypt: 2826 . Deprecated ext/mcrypt. (Scott Arciszewski, cmb) 2827 . Fixed bug #72782 (Heap Overflow due to integer overflows). (Stas) 2828 . Fixed bug #72551, bug #72552 (In correct casting from size_t to int lead to 2829 heap overflow in mdecrypt_generic). (Stas) 2830 . mcrypt_encrypt() and mcrypt_decrypt() will throw an instance of Error 2831 instead of resulting in a fatal error if mcrypt cannot be initialized. 2832 (Aaron Piotrowski) 2833 2834- Mysqli: 2835 . Attempting to read an invalid or write to a readonly property will throw 2836 an instance of Error instead of resulting in a fatal error. (Aaron 2837 Piotrowski) 2838 2839- Mysqlnd: 2840 . Fixed bug #64526 (Add missing mysqlnd.* parameters to php.ini-*). (cmb) 2841 . Fixed bug #71863 (Segfault when EXPLAIN with "Unknown column" error when 2842 using MariaDB). (Andrey) 2843 . Fixed bug #72701 (mysqli_get_host_info() wrong output). (Anatol) 2844 2845- OCI8 2846 . Fixed bug #71148 (Bind reference overwritten on PHP 7). (Oracle Corp.) 2847 . Fixed invalid handle error with Implicit Result Sets. (Chris Jones) 2848 . Fixed bug #72524 (Binding null values triggers ORA-24816 error). (Chris Jones) 2849 2850- ODBC: 2851 . Fixed bug #73448 (odbc_errormsg returns trash, always 513 bytes). 2852 (Anatol) 2853 2854- Opcache: 2855 . Fixed bug #73583 (Segfaults when conditionally declared class and function 2856 have the same name). (Laruence) 2857 . Fixed bug #69090 (check cached files permissions) 2858 . Fixed bug #72982 (Memory leak in zend_accel_blacklist_update_regexp() 2859 function). (Laruence) 2860 . Fixed bug #72949 (Typo in opcache error message). (cmb) 2861 . Fixed bug #72762 (Infinite loop while parsing a file with opcache enabled). 2862 (Nikita) 2863 . Fixed bug #72590 (Opcache restart with kill_all_lockers does not work). 2864 (Keyur) 2865 2866- OpenSSL: 2867 . Fixed bug #73478 (openssl_pkey_new() generates wrong pub/priv keys with 2868 Diffie Hellman). (Jakub Zelenka) 2869 . Fixed bug #73276 (crash in openssl_random_pseudo_bytes function). (Stas) 2870 . Fixed bug #73072 (Invalid path SNI_server_certs causes segfault). 2871 (Jakub Zelenka) 2872 . Fixed bug #72360 (ext/openssl build failure with OpenSSL 1.1.0). 2873 (Jakub Zelenka) 2874 . Bumped a minimal version to 1.0.1. (Jakub Zelenka) 2875 . Dropped support for SSL2. (Remi) 2876 . Implemented FR #61204 (Add elliptic curve support for OpenSSL). 2877 (Dominic Luechinger) 2878 . Implemented FR #67304 (Added AEAD support [CCM and GCM modes] to 2879 openssl_encrypt and openssl_decrypt). (Jakub Zelenka) 2880 . Implemented error storing to the global queue and cleaning up the OpenSSL 2881 error queue (resolves bugs #68276 and #69882). (Jakub Zelenka) 2882 2883- Pcntl 2884 . Implemented asynchronous signal handling without TICKS. (Dmitry) 2885 . Added pcntl_signal_get_handler() that returns the current signal handler 2886 for a particular signal. Addresses FR #72409. (David Walker) 2887 . Add signinfo to pcntl_signal() handler args (Bishop Bettini, David Walker) 2888 2889- PCRE: 2890 . Fixed bug #73483 (Segmentation fault on pcre_replace_callback). (Laruence) 2891 . Fixed bug #73612 (preg_*() may leak memory). (cmb) 2892 . Fixed bug #73392 (A use-after-free in zend allocator management). 2893 (Laruence) 2894 . Fixed bug #73121 (Bundled PCRE doesn't compile because JIT isn't supported 2895 on s390). (Anatol) 2896 . Fixed bug #72688 (preg_match missing group names in matches). (cmb) 2897 . Downgraded to PCRE 8.38. (Anatol) 2898 . Fixed bug #72476 (Memleak in jit_stack). (Laruence) 2899 . Fixed bug #72463 (mail fails with invalid argument). (Anatol) 2900 . Upgraded to PCRE 8.39. (Anatol) 2901 2902- PDO: 2903 . Fixed bug #72788 (Invalid memory access when using persistent PDO 2904 connection). (Keyur) 2905 . Fixed bug #72791 (Memory leak in PDO persistent connection handling). (Keyur) 2906 . Fixed bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY 2907 returns false). (cmb) 2908 2909- PDO_DBlib: 2910 . Fixed bug #72414 (Never quote values as raw binary data). (Adam Baratz) 2911 . Allow \PDO::setAttribute() to set query timeouts. (Adam Baratz) 2912 . Handle SQLDECIMAL/SQLNUMERIC types, which are used by later TDS versions. 2913 (Adam Baratz) 2914 . Add common PDO test suite. (Adam Baratz) 2915 . Free error and message strings when cleaning up PDO instances. 2916 (Adam Baratz) 2917 . Fixed bug #67130 (\PDOStatement::nextRowset() should succeed when all rows 2918 in current rowset haven't been fetched). (Peter LeBrun) 2919 . Ignore potentially misleading dberr values. (Chris Kings-Lynne) 2920 . Implemented stringify 'uniqueidentifier' fields. 2921 (Alexander Zhuravlev, Adam Baratz) 2922 2923- PDO_Firebird: 2924 . Fixed bug #73087, #61183, #71494 (Memory corruption in bindParam). 2925 (Dorin Marcoci) 2926 . Fixed bug #60052 (Integer returned as a 64bit integer on X86_64). (Mariuz) 2927 2928- PDO_pgsql: 2929 . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) 2930 . Fixed bug #72570 (Segmentation fault when binding parameters on a query 2931 without placeholders). (Matteo) 2932 . Implemented FR #72633 (Postgres PDO lastInsertId() should work without 2933 specifying a sequence). (Pablo Santiago Sánchez, Matteo) 2934 2935- Phar: 2936 . Fixed bug #72928 (Out of bound when verify signature of zip phar in 2937 phar_parse_zipfile). (Stas) 2938 . Fixed bug #73035 (Out of bound when verify signature of tar phar in 2939 phar_parse_tarfile). (Stas) 2940 2941- phpdbg: 2942 . Added generator command for inspection of currently alive generators. (Bob) 2943 2944- Postgres: 2945 . Fixed bug #73498 (Incorrect SQL generated for pg_copy_to()). (Craig Duncan) 2946 . Implemented FR #31021 (pg_last_notice() is needed to get all notice 2947 messages). (Yasuo) 2948 . Implemented FR #48532 (Allow pg_fetch_all() to index numerically). (Yasuo) 2949 2950- Readline: 2951 . Fixed bug #72538 (readline_redisplay crashes php). (Laruence) 2952 2953- Reflection 2954 . Undo backwards compatiblity break in ReflectionType->__toString() and 2955 deprecate via documentation instead. (Nikita) 2956 . Reverted prepending \ for class names. (Trowski) 2957 . Implemented request #38992 (invoke() and invokeArgs() static method calls 2958 should match). (cmb). 2959 . Add ReflectionNamedType::getName(). This method should be used instead of 2960 ReflectionType::__toString() 2961 . Prepend \ for class names and ? for nullable types returned from 2962 ReflectionType::__toString(). (Trowski) 2963 . Fixed bug #72661 (ReflectionType::__toString crashes with iterable). 2964 (Laruence) 2965 . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants). 2966 (Nikita Nefedov) 2967 . Failure to retrieve a reflection object or retrieve an object property 2968 will now throw an instance of Error instead of resulting in a fatal error. 2969 (Aaron Piotrowski) 2970 . Fix #72209 (ReflectionProperty::getValue() doesn't fail if object doesn't match type). (Joe) 2971 2972- Session: 2973 . Fixed bug #73273 (session_unset() empties values from all variables in which 2974 is $_session stored). (Nikita) 2975 . Fixed bug #73100 (session_destroy null dereference in ps_files_path_create). 2976 (cmb) 2977 . Fixed bug #68015 (Session does not report invalid uid for files save handler). 2978 (Yasuo) 2979 . Fixed bug #72940 (SID always return "name=ID", even if session 2980 cookie exist). (Yasuo) 2981 . Implemented session_gc() (Yasuo) 2982 https://wiki.php.net/rfc/session-create-id 2983 . Implemented session_create_id() (Yasuo) 2984 https://wiki.php.net/rfc/session-gc 2985 . Implemented RFC: Session ID without hashing. (Yasuo) 2986 https://wiki.php.net/rfc/session-id-without-hashing 2987 . Fixed bug #72531 (ps_files_cleanup_dir Buffer overflow). (Laruence) 2988 . Custom session handlers that do not return strings for session IDs will 2989 now throw an instance of Error instead of resulting in a fatal error 2990 when a function is called that must generate a session ID. 2991 (Aaron Piotrowski) 2992 . An invalid setting for session.hash_function will throw an instance of 2993 Error instead of resulting in a fatal error when a session ID is created. 2994 (Aaron Piotrowski) 2995 . Fixed bug #72562 (Use After Free in unserialize() with Unexpected Session 2996 Deserialization). (Stas) 2997 . Improved fix for bug #68063 (Empty session IDs do still start sessions). 2998 (Yasuo) 2999 . Fixed bug #71038 (session_start() returns TRUE on failure). 3000 Session save handlers must return 'string' always for successful read. 3001 i.e. Non-existing session read must return empty string. PHP 7.0 is made 3002 not to tolerate buggy return value. (Yasuo) 3003 . Fixed bug #71394 (session_regenerate_id() must close opened session on 3004 errors). (Yasuo) 3005 3006- SimpleXML: 3007 . Fixed bug #73293 (NULL pointer dereference in SimpleXMLElement::asXML()). 3008 (Stas) 3009 . Fixed bug #72971 (SimpleXML isset/unset do not respect namespace). (Nikita) 3010 . Fixed bug #72957 (Null coalescing operator doesn't behave as expected with 3011 SimpleXMLElement). (Nikita) 3012 . Fixed bug #72588 (Using global var doesn't work while accessing SimpleXML 3013 element). (Laruence) 3014 . Creating an unnamed or duplicate attribute will throw an instance of Error 3015 instead of resulting in a fatal error. (Aaron Piotrowski) 3016 3017- SNMP: 3018 . Fixed bug #72708 (php_snmp_parse_oid integer overflow in memory 3019 allocation). (djodjo at gmail dot com) 3020 . Fixed bug #72479 (Use After Free Vulnerability in SNMP with GC and 3021 unserialize()). (Stas) 3022 3023- Soap: 3024 . Fixed bug #73538 (SoapClient::__setSoapHeaders doesn't overwrite SOAP 3025 headers). (duncan3dc) 3026 . Fixed bug #73452 (Segfault (Regression for #69152)). (Dmitry) 3027 . Fixed bug #73037 (SoapServer reports Bad Request when gzipped). (Anatol) 3028 . Fixed bug #73237 (Nested object in "any" element overwrites other fields). 3029 (Keith Smiley) 3030 . Fixed bug #69137 (Peer verification fails when using a proxy with SoapClient) 3031 (Keith Smiley) 3032 . Fixed bug #71711 (Soap Server Member variables reference bug). (Nikita) 3033 . Fixed bug #71996 (Using references in arrays doesn't work like expected). 3034 (Nikita) 3035 3036- SPL: 3037 . Fixed bug #73423 (Reproducible crash with GDB backtrace). (Laruence) 3038 . Fixed bug #72888 (Segfault on clone on splFileObject). (Laruence) 3039 . Fixed bug #73029 (Missing type check when unserializing SplArray). (Stas) 3040 . Fixed bug #72646 (SplFileObject::getCsvControl does not return the escape 3041 character). (cmb) 3042 . Fixed bug #72684 (AppendIterator segfault with closed generator). (Pierrick) 3043 . Attempting to clone an SplDirectory object will throw an instance of Error 3044 instead of resulting in a fatal error. (Aaron Piotrowski) 3045 . Calling ArrayIterator::append() when iterating over an object will throw an 3046 instance of Error instead of resulting in a fatal error. (Aaron Piotrowski) 3047 . Fixed bug #55701 (GlobIterator throws LogicException). (Valentin VĂLCIU) 3048 3049- SQLite3: 3050 . Update to SQLite 3.15.1. (cmb) 3051 . Fixed bug #73530 (Unsetting result set may reset other result set). (cmb) 3052 . Fixed bug #73333 (2147483647 is fetched as string). (cmb) 3053 . Fixed bug #72668 (Spurious warning when exception is thrown in user defined 3054 function). (Laruence) 3055 . Implemented FR #72653 (SQLite should allow opening with empty filename). 3056 (cmb) 3057 . Fixed bug #70628 (Clearing bindings on an SQLite3 statement doesn't work). 3058 (cmb) 3059 . Implemented FR #71159 (Upgraded bundled SQLite lib to 3.9.2). (Laruence) 3060 3061- Standard: 3062 . Fixed bug #73297 (HTTP stream wrapper should ignore HTTP 100 Continue). 3063 (rowan dot collins at gmail dot com) 3064 . Fixed bug #73303 (Scope not inherited by eval in assert()). (nikic) 3065 . Fixed bug #73192 (parse_url return wrong hostname). (Nikita) 3066 . Fixed bug #73203 (passing additional_parameters causes mail to fail). (cmb) 3067 . Fixed bug #73203 (passing additional_parameters causes mail to fail). (cmb) 3068 . Fixed bug #72920 (Accessing a private constant using constant() creates 3069 an exception AND warning). (Laruence) 3070 . Fixed bug #65550 (get_browser() incorrectly parses entries with "+" sign). 3071 (cmb) 3072 . Fixed bug #71882 (Negative ftruncate() on php://memory exhausts memory). 3073 (cmb) 3074 . Fixed bug #55451 (substr_compare NULL length interpreted as 0). (Lauri 3075 Kenttä) 3076 . Fixed bug #72278 (getimagesize returning FALSE on valid jpg). (cmb) 3077 . Fixed bug #61967 (unset array item in array_walk_recursive cause 3078 inconsistent array). (Nikita) 3079 . Fixed bug #62607 (array_walk_recursive move internal pointer). (Nikita) 3080 . Fixed bug #69068 (Exchanging array during array_walk -> memory errors). 3081 (Nikita) 3082 . Fixed bug #70713 (Use After Free Vulnerability in array_walk()/ 3083 array_walk_recursive()). (Nikita) 3084 . Fixed bug #72622 (array_walk + array_replace_recursive create references 3085 from nothing). (Laruence) 3086 . Fixed bug #72330 (CSV fields incorrectly split if escape char followed by 3087 UTF chars). (cmb) 3088 . Implemented RFC: More precise float values. (Jakub Zelenka, Yasuo) 3089 . array_multisort now uses zend_sort instead zend_qsort. (Laruence) 3090 . Fixed bug #72505 (readfile() mangles files larger than 2G). (Cschneid) 3091 . assert() will throw a ParseError when evaluating a string given as the first 3092 argument if the PHP code is invalid instead of resulting in a catchable 3093 fatal error. (Aaron Piotrowski) 3094 . Calling forward_static_call() outside of a class scope will now throw an 3095 instance of Error instead of resulting in a fatal error. (Aaron Piotrowski) 3096 . Added is_iterable() function. (Aaron Piotrowski) 3097 . Fixed bug #72306 (Heap overflow through proc_open and $env parameter). 3098 (Laruence) 3099 . Fixed bug #71100 (long2ip() doesn't accept integers in strict mode). 3100 (Laruence) 3101 . Implemented FR #55716 (Add an option to pass a custom stream context to 3102 get_headers()). (Ferenc) 3103 . Additional validation for parse_url() for login/pass components). 3104 (Ilia) (Julien) 3105 . Implemented FR #69359 (Provide a way to fetch the current environment 3106 variables). (Ferenc) 3107 . unpack() function accepts an additional optional argument $offset. (Dmitry) 3108 . Implemented #51879 stream context socket option tcp_nodelay (Joe) 3109 3110- Streams: 3111 . Fixed bug #73586 (php_user_filter::$stream is not set to the stream the 3112 filter is working on). (Dmitry) 3113 . Fixed bug #72853 (stream_set_blocking doesn't work). (Laruence) 3114 . Fixed bug #72743 (Out-of-bound read in php_stream_filter_create). 3115 (Loianhtuan) 3116 . Implemented FR #27814 (Multiple small packets send for HTTP request). 3117 (vhuk) 3118 . Fixed bug #72764 (ftps:// opendir wrapper data channel encryption fails 3119 with IIS FTP 7.5, 8.5). (vhuk) 3120 . Fixed bug #72810 (Missing SKIP_ONLINE_TESTS checks). (vhuk) 3121 . Fixed bug #41021 (Problems with the ftps wrapper). (vhuk) 3122 . Fixed bug #54431 (opendir() does not work with ftps:// wrapper). (vhuk) 3123 . Fixed bug #72667 (opendir() with ftp:// attempts to open data stream for 3124 non-existent directories). (vhuk) 3125 . Fixed bug #72771 (ftps:// wrapper is vulnerable to protocol downgrade 3126 attack). (Stas) 3127 . Fixed bug #72534 (stream_socket_get_name crashes). (Anatol) 3128 . Fixed bug #72439 (Stream socket with remote address leads to a segmentation 3129 fault). (Laruence) 3130 3131- sysvshm: 3132 . Fixed bug #72858 (shm_attach null dereference). (Anatol) 3133 3134- Tidy: 3135 . Implemented support for libtidy 5.0.0 and above. (Michael Orlitzky, Anatol) 3136 . Creating a tidyNode manually will now throw an instance of Error instead of 3137 resulting in a fatal error. (Aaron Piotrowski) 3138 3139- Wddx: 3140 . Fixed bug #73331 (NULL Pointer Dereference in WDDX Packet Deserialization 3141 with PDORow). (Stas) 3142 . Fixed bug #72142 (WDDX Packet Injection Vulnerability in 3143 wddx_serialize_value()). (Taoguang Chen) 3144 . Fixed bug #72749 (wddx_deserialize allows illegal memory access) (Stas) 3145 . Fixed bug #72750 (wddx_deserialize null dereference). (Stas) 3146 . Fixed bug #72790 (wddx_deserialize null dereference with invalid xml). 3147 (Stas) 3148 . Fixed bug #72799 (wddx_deserialize null dereference in 3149 php_wddx_pop_element). (Stas) 3150 . Fixed bug #72860 (wddx_deserialize use-after-free). (Stas) 3151 . Fixed bug #73065 (Out-Of-Bounds Read in php_wddx_push_element). (Stas) 3152 . Fixed bug #72564 (boolean always deserialized as "true") (Remi) 3153 . A circular reference when serializing will now throw an instance of Error 3154 instead of resulting in a fatal error. (Aaron Piotrowski) 3155 3156- XML: 3157 . Fixed bug #72135 (malformed XML causes fault) (edgarsandi) 3158 . Fixed bug #72714 (_xml_startElementHandler() segmentation fault). (cmb) 3159 . Fixed bug #72085 (SEGV on unknown address zif_xml_parse). (cmb) 3160 3161- XMLRPC: 3162 . Fixed bug #72647 (xmlrpc_encode() unexpected output after referencing 3163 array elements). (Laruence) 3164 . Fixed bug #72606 (heap-buffer-overflow (write) simplestring_addn 3165 simplestring.c). (Stas) 3166 . A circular reference when serializing will now throw an instance of Error 3167 instead of resulting in a fatal error. (Aaron Piotrowski) 3168 3169- Zip: 3170 . Fixed bug #68302 (impossible to compile php with zip support). (cmb) 3171 . Fixed bug #72660 (NULL Pointer dereference in zend_virtual_cwd). 3172 (Laruence) 3173 . Fixed bug #72520 (Stack-based buffer overflow vulnerability in 3174 php_stream_zip_opener). (Stas) 3175 . ZipArchive::addGlob() will throw an instance of Error instead of resulting 3176 in a fatal error if glob support is not available. (Aaron Piotrowski) 3177