mirror of
https://github.com/php/php-src.git
synced 2024-12-18 06:21:41 +08:00
294fb83ee8
get_method() may modify the object pointer passed to it if method forwarding is used. In this case we do not want to modify the passed zval, so make sure that we copy the object into a temporary first.
19 lines
317 B
PHP
19 lines
317 B
PHP
--TEST--
|
|
Bug #76901: method_exists on SPL iterator passthrough method corrupts memory
|
|
--FILE--
|
|
<?php
|
|
|
|
$it = new ArrayIterator([1, 2, 3]);
|
|
$it = new IteratorIterator($it);
|
|
foreach ($it as $v) {
|
|
if (method_exists($it, 'offsetGet')) {
|
|
var_dump($it->offsetGet(0));
|
|
}
|
|
}
|
|
|
|
?>
|
|
--EXPECT--
|
|
int(1)
|
|
int(1)
|
|
int(1)
|