]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.0' into PHP-7.1
authorDmitry Stogov <dmitry@zend.com>
Tue, 18 Oct 2016 12:09:44 +0000 (15:09 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 18 Oct 2016 12:09:44 +0000 (15:09 +0300)
* PHP-7.0:
  Fixed bug #73337 (try/catch not working with two exceptions inside a same operation)
  Revert "Fix bug #47890 #73215 uniqid() should use better random source"
  Update NEWS

1  2 
NEWS
Zend/zend_execute_API.c

diff --cc NEWS
index f16fc913cf6798bd4cc39ccad418d1bb4142ace2,be20d3ba963fe62543b5fa87ba553094d088946b..f20c8ad3150c807505b0d5304ffb8ae2a3ecec2c
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -1,45 -1,18 +1,48 @@@
  PHP                                                                        NEWS
  |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 -?? ??? 2016 PHP 7.0.13
 +?? ??? ????, PHP 7.1.0RC5
  
  - Core:
 -  . Fixed bug #73181 (parse_str() without a second argument leads to crash).
 -    (Nikita)
 -  . Fixed bug #66773 (Autoload with Opcache allows importing conflicting class
 -    name to namespace). (Nikita)
 -  . Fixed bug #66862 ((Sub-)Namespaces unexpected behaviour). (Nikita)
 +  . Fixed bug #73215 (uniqid() should use better random source). (Yasuo)
 +
 +- SQLite3:
 +  . Fixed bug #73333 (2147483647 is fetched as string). (cmb)
 +
 +19 Oct 2016, PHP 7.1.0RC4
 +
 +- Core:
 +  . Fixed bug #73288 (Segfault in __clone > Exception.toString > __get).
 +    (Laruence)
 +  . Fixed for #73240 (Write out of bounds at number_format). (Stas)
    . Fix pthreads detection when cross-compiling (ffontaine)
+   . Fixed bug #73215 (uniqid() should use better random source). (Yasuo)
+   . Fixed bug #73337 (try/catch not working with two exceptions inside a same
+     operation). (Dmitry)
  
 +- BCmath:
 +  . Fix bug #73190 (memcpy negative parameter _bc_new_num_ex). (Stas)
 +
 +- Date:
 +  . Fixed bug #45554 (Inconsistent behavior of the u format char). (Derick)
 +  . Fixed bug #48225 (DateTime parser doesn't set microseconds for "now").
 +    (Derick)
 +  . Fixed bug #52514 (microseconds are missing in DateTime class). (Derick)
 +  . Fixed bug #52519 (microseconds in DateInterval are missing). (Derick)
 +  . Fixed bug #60089 (DateTime::createFromFormat() U after u nukes microtime).
 +    (Derick)
 +  . Fixed bug #64887 (Allow DateTime modification with subsecond items).
 +    (Derick)
 +  . Fixed bug #68506 (General DateTime improvments needed for microseconds to
 +    become useful). (Derick)
 +  . Fixed bug #73109 (timelib_meridian doesn't parse dots correctly). (Derick)
 +  . Fixed bug #73247 (DateTime constructor does not initialise microseconds
 +    property). (Derick)
 +  . Fixed bug #73147 (Use After Free in PHP7 unserialize()). (Stas)
 +  . Fixed bug #73189 (Memcpy negative size parameter php_resolve_path). (Stas)
 +
 +- DOM:
 +  . Fixed bug #73150 (missing NULL check in dom_document_save_html). (Stas)
 +
  - GD:
    . Fixed bug #73213 (Integer overflow in imageline() with antialiasing). (cmb)
    . Fixed bug #73272 (imagescale() is not affected by, but affects
index 2e299e8515815fc93bc66bcdd81c8a524b9a8634,f96cac5f097603a45e1f4fdac03e40c07fa7d104..fc4a39acb60a886b343430aee061125de01418cb
@@@ -820,10 -844,22 +820,13 @@@ int zend_call_function(zend_fcall_info 
                ZEND_ADD_CALL_FLAG(call, ZEND_CALL_CLOSURE);
        }
  
 -      /* PHP-7 doesn't support symbol_table substitution for functions */
 -      ZEND_ASSERT(fci->symbol_table == NULL);
 -
--      if (func->type == ZEND_USER_FUNCTION) {
++      if (func->type == ZEND_USER_FUNCTION) {         
                int call_via_handler = (func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) != 0;
 -              EG(scope) = func->common.scope;
 -              call->symbol_table = fci->symbol_table;
 -              if (EXPECTED((func->op_array.fn_flags & ZEND_ACC_GENERATOR) == 0)) {
 -                      const zend_op *current_opline_before_exception = EG(opline_before_exception);
 -
 -                      zend_init_execute_data(call, &func->op_array, fci->retval);
 -                      zend_execute_ex(call);
 -                      EG(opline_before_exception) = current_opline_before_exception;
 -              } else {
 -                      zend_generator_create_zval(call, &func->op_array, fci->retval);
 -              }
++              const zend_op *current_opline_before_exception = EG(opline_before_exception);
++
 +              zend_init_execute_data(call, &func->op_array, fci->retval);
 +              zend_execute_ex(call);
++              EG(opline_before_exception) = current_opline_before_exception;
                if (call_via_handler) {
                        /* We must re-initialize function again */
                        fci_cache->initialized = 0;