don't clean properties hash if it is iterated
@@ -0,0 +1,19 @@
+--TEST--
+Test V8::executeString() : Issue #316 endless property iteration
+--SKIPIF--
+<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
+--FILE--
+<?php
+
+$v8 = new V8Js();
+$values = $v8->executeString('({test: "test"})');
+foreach ($values as $value) {
+ var_dump($value);
+}
+?>
+===EOF===
+--EXPECT--
+string(4) "test"
@@ -224,7 +224,7 @@ static HashTable *v8js_v8object_get_properties(zval *object) /* {{{ */
* it (instead of crashing the engine). */
return obj->properties;
}
- } else {
+ } else if (!obj->properties->u.v.nIteratorsCount) {
zend_hash_clean(obj->properties);