mirror of
https://github.com/macintoshplus/mongo-php-driver.git
synced 2026-03-26 18:02:10 +01:00
This removes a call to zend_hash_clean() on successive calls to a BSON object's get_properties handler, which can lead to an infinite loop when iterating the object's properties with foreach on PHP 7.x.
For historical reference, the original call to zend_hash_clean() was introduced in ad1f3f049f for #607 (PHPC-939).
35 lines
622 B
PHP
35 lines
622 B
PHP
--TEST--
|
|
MongoDB\BSON\Javascript get_properties handler (get_object_vars)
|
|
--FILE--
|
|
<?php
|
|
|
|
$tests = [
|
|
new MongoDB\BSON\Javascript('function foo(bar) { return bar; }'),
|
|
new MongoDB\BSON\Javascript('function foo() { return bar; }', ['bar' => 42]),
|
|
];
|
|
|
|
foreach ($tests as $test) {
|
|
var_dump(get_object_vars($test));
|
|
}
|
|
|
|
?>
|
|
===DONE===
|
|
<?php exit(0); ?>
|
|
--EXPECTF--
|
|
array(2) {
|
|
["code"]=>
|
|
string(33) "function foo(bar) { return bar; }"
|
|
["scope"]=>
|
|
NULL
|
|
}
|
|
array(2) {
|
|
["code"]=>
|
|
string(30) "function foo() { return bar; }"
|
|
["scope"]=>
|
|
object(stdClass)#%d (%d) {
|
|
["bar"]=>
|
|
int(42)
|
|
}
|
|
}
|
|
===DONE===
|