From: Nikita Popov Date: Mon, 29 Feb 2016 21:44:06 +0000 (+0100) Subject: Merge branch 'PHP-5.6' into PHP-7.0 X-Git-Tag: php-7.0.5RC1~46 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a6afaa9a85e3ba48d8b58fd1fbfae8d84892abb5;p=php Merge branch 'PHP-5.6' into PHP-7.0 Conflicts: ext/phar/tar.c --- a6afaa9a85e3ba48d8b58fd1fbfae8d84892abb5 diff --cc NEWS index e096907e72,d0575da9e9..2c3eb10509 --- a/NEWS +++ b/NEWS @@@ -26,39 -17,10 +26,40 @@@ PH - Phar: . Fixed bug #71625 (Crash in php7.dll with bad phar filename). (Anatol) - . Fixed bug #71504 (Parsing of tar file with duplicate filenames causes - memory leak). (Jos Elstgeest) ++ . Fixed bug #71317 (PharData fails to open specific file). (Jos Elstgeest) + +- phpdbg: + . Fixed crash when advancing (except step) inside an internal function. (Bob) + +- SPL: + . Fixed bug #71617 (private properties lost when unserializing ArrayObject). + (Nikita) + +- Standard: + . Fixed bug #71660 (array_column behaves incorrectly after foreach by + reference). (Laruence) + +- Zip: + . Update bundled libzip to 1.1.2. (Remi, Anatol) -03 Mar 2016, PHP 5.6.19 +?? Mar 2016 PHP 7.0.4 + +- Core: + . Fixed bug (Low probability segfault in zend_arena). (Laruence) + . Fixed bug #71485 (Return typehint on internal func causes Fatal error + when it throws exception). (Laruence) + . Fixed bug #71474 (Crash because of VM stack corruption on Magento2). + (Dmitry) + . Fixed bug #71450 (An integer overflow bug in php_str_to_str_ex()). (Stas) + . Fixed bug #71449 (An integer overflow bug in php_implode()). (Stas) + . Fixed bug #71443 (Segfault using built-in webserver with intl using + symfony). (Laruence) + . Fixed bug #71442 (forward_static_call crash). (Laruence) + . Fixed bug #71441 (Typehinted Generator with return in try/finally crashes). + (Bob) + . Fixed bug #71529 (Variable references on array elements don't work when + using count). (Nikita) + . Fixed bug #71601 (finally block not executed after yield from). (Bob) - CLI server: . Fixed bug #71559 (Built-in HTTP server, we can download file in web by bug). diff --cc ext/phar/tar.c index 3b5158b5f1,62edcb59f1..aeb5c7ef1e --- a/ext/phar/tar.c +++ b/ext/phar/tar.c @@@ -497,15 -499,10 +497,10 @@@ bail } else if (entry.tar_type == TAR_SYMLINK) { entry.link = estrndup(hdr->linkname, linkname_len); } - phar_set_inode(&entry TSRMLS_CC); + phar_set_inode(&entry); - if ((newentry = zend_hash_str_add_mem(&myphar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info))) == NULL) { - if (error) { - spprintf(error, 4096, "phar error: tar-based phar \"%s\" cannot be registered", entry.filename); - } - php_stream_close(fp); - phar_destroy_phar_data(myphar); - return FAILURE; - } + - zend_hash_update(&myphar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info), (void **) &newentry); ++ newentry = zend_hash_str_update_mem(&myphar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info)); + ZEND_ASSERT(newentry != NULL); if (entry.is_persistent) { ++entry.manifest_pos;