]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.6' into PHP-7.0
authorNikita Popov <nikic@php.net>
Mon, 29 Feb 2016 21:44:06 +0000 (22:44 +0100)
committerNikita Popov <nikic@php.net>
Mon, 29 Feb 2016 21:44:46 +0000 (22:44 +0100)
Conflicts:
ext/phar/tar.c

1  2 
NEWS
ext/phar/tar.c

diff --cc NEWS
index e096907e723e512e2e15df05a9877e8ba7d5e13e,d0575da9e928b1f63be43e147f1ef3bf2bb1bafa..2c3eb105099e7f364a48f93e0157b818b0e23b52
--- 1/NEWS
--- 2/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 3b5158b5f1c65c9d375f52e5be8464ccd8c1ef80,62edcb59f1226222b50abd8877e801e20dc206c6..aeb5c7ef1ee5747b6e61c241daf332724564abf3
@@@ -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;