]> granicus.if.org Git - php/commitdiff
Fixed refcount asseration
authorXinchen Hui <laruence@gmail.com>
Sat, 15 Mar 2014 11:16:07 +0000 (19:16 +0800)
committerXinchen Hui <laruence@gmail.com>
Sat, 15 Mar 2014 11:16:07 +0000 (19:16 +0800)
ext/spl/spl_iterators.c

index 663e2072aa00c39ebe0017f1473270376bf0cd52..9a29846aaa2461677014cc17e8091876711068b0 100644 (file)
@@ -3487,7 +3487,9 @@ static int spl_iterator_to_values_apply(zend_object_iterator *iter, void *puser
        if (data == NULL) {
                return ZEND_HASH_APPLY_STOP;
        }
-       Z_ADDREF_P(data);
+       if (Z_REFCOUNTED_P(data)) {
+               Z_ADDREF_P(data);
+       }
        add_next_index_zval(return_value, data);
        return ZEND_HASH_APPLY_KEEP;
 }