- 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).
} 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;