Annotation of embedaddon/php/tests/lang/bug22231.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #22231 (segfault when returning a global variable by reference)
! 3: --INI--
! 4: error_reporting=E_ALL | E_DEPRECATED
! 5: --FILE--
! 6: <?php
! 7: class foo {
! 8: public $fubar = 'fubar';
! 9: }
! 10:
! 11: function &foo(){
! 12: $GLOBALS['foo'] = &new foo();
! 13: return $GLOBALS['foo'];
! 14: }
! 15: $bar = &foo();
! 16: var_dump($bar);
! 17: var_dump($bar->fubar);
! 18: unset($bar);
! 19: $bar = &foo();
! 20: var_dump($bar->fubar);
! 21:
! 22: $foo = &foo();
! 23: var_dump($foo);
! 24: var_dump($foo->fubar);
! 25: unset($foo);
! 26: $foo = &foo();
! 27: var_dump($foo->fubar);
! 28: ?>
! 29: --EXPECTF--
! 30: Deprecated: Assigning the return value of new by reference is deprecated in %s on line %d
! 31: object(foo)#%d (1) {
! 32: ["fubar"]=>
! 33: string(5) "fubar"
! 34: }
! 35: string(5) "fubar"
! 36: string(5) "fubar"
! 37: object(foo)#%d (1) {
! 38: ["fubar"]=>
! 39: string(5) "fubar"
! 40: }
! 41: string(5) "fubar"
! 42: string(5) "fubar"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>