]> granicus.if.org Git - php/commitdiff
Remove redundant addref+dtor
authorNikita Popov <nikita.ppv@gmail.com>
Wed, 29 Apr 2020 08:27:20 +0000 (10:27 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Wed, 29 Apr 2020 08:27:35 +0000 (10:27 +0200)
Zend/zend_API.c
ext/spl/spl_iterators.c

index 4aa76ca11103643ebb85f7b84e7f3006722d0e9d..37c8820164a5c44505d5abfbfe1bb024a79cc1b4 100644 (file)
@@ -1578,7 +1578,7 @@ ZEND_API int array_set_zval_key(HashTable *ht, zval *key, zval *value) /* {{{ */
                        result = zend_symtable_update(ht, Z_STR_P(key), value);
                        break;
                case IS_NULL:
-                       result = zend_symtable_update(ht, ZSTR_EMPTY_ALLOC(), value);
+                       result = zend_hash_update(ht, ZSTR_EMPTY_ALLOC(), value);
                        break;
                case IS_RESOURCE:
                        zend_error(E_WARNING, "Resource ID#%d used as offset, casting to integer (%d)", Z_RES_HANDLE_P(key), Z_RES_HANDLE_P(key));
index 8c59eb38da1efa94999ee59e80efaac1d961bf0a..a6ccc855c0ef915d4c2396c0b7f378987eb5d872 100644 (file)
@@ -2360,9 +2360,7 @@ static inline void spl_caching_it_next(spl_dual_it_object *intern)
                        zval *data = &intern->current.data;
 
                        ZVAL_DEREF(data);
-                       Z_TRY_ADDREF_P(data);
                        array_set_zval_key(Z_ARRVAL(intern->u.caching.zcache), key, data);
-                       zval_ptr_dtor(data);
                }
                /* Recursion ? */
                if (intern->dit_type == DIT_RecursiveCachingIterator) {