]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.3' into PHP-7.4
authorNikita Popov <nikita.ppv@gmail.com>
Tue, 7 Jul 2020 09:59:20 +0000 (11:59 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 7 Jul 2020 09:59:40 +0000 (11:59 +0200)
* PHP-7.3:
  Fixed bug #79792

1  2 
NEWS
Zend/zend_hash.c

diff --cc NEWS
index c92d285a5afc69af90b3a0a2dee294fcf8fc7313,17289b59e0433b51e38a2381cb008812ebf25f94..fd9c57ba95e5c5c43e4f60d61837b8ed55c0ea19
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -6,18 -6,19 +6,20 @@@ PH
    . Fixed bug #79030 (Upgrade apache2handler's php_apache_sapi_get_request_time
      to return usec). (Herbert256)
  
 +- COM:
 +  . Fixed bug #63208 (BSTR to PHP string conversion not binary safe). (cmb)
 +
  - Core:
 +  . Fixed bug #79740 (serialize() and unserialize() methods can not be called
 +    statically). (Nikita)
 +  . Fixed bug #79783 (Segfault in php_str_replace_common). (Nikita)
    . Fixed bug #79778 (Assertion failure if dumping closure with unresolved
      static variable). (Nikita)
 +  . Fixed bug #79779 (Assertion failure when assigning property of string
 +    offset by reference). (Nikita)
+   . Fixed bug #79792 (HT iterators not removed if empty array is destroyed).
+     (Nikita)
  
 -- COM:
 -  . Fixed bug #63208 (BSTR to PHP string conversion not binary safe). (cmb)
 -  
 -- Curl:
 -  . Fixed bug #79741 (curl_setopt CURLOPT_POSTFIELDS asserts on object with
 -    declared properties). (Nikita)
 -
  - Fileinfo:
    . Fixed bug #79756 (finfo_file crash (FILEINFO_MIME)). (cmb)
  
index 705eb47a839e73ad38854849a934bfadd1fdf53d,2fb0eac448fdc20d5453ce0c435610f627950419..4fd0c549b5924c307a304ae986a94ab519c9f4a9
@@@ -1627,11 -1504,11 +1627,11 @@@ ZEND_API void ZEND_FASTCALL zend_array_
                                }
                        } while (++p != end);
                }
-               zend_hash_iterators_remove(ht);
-               SET_INCONSISTENT(HT_DESTROYED);
 -      } else if (EXPECTED(!(HT_FLAGS(ht) & HASH_FLAG_INITIALIZED))) {
 +      } else if (EXPECTED(HT_FLAGS(ht) & HASH_FLAG_UNINITIALIZED)) {
                goto free_ht;
        }
+       zend_hash_iterators_remove(ht);
+       SET_INCONSISTENT(HT_DESTROYED);
        efree(HT_GET_DATA_ADDR(ht));
  free_ht:
        FREE_HASHTABLE(ht);