Return to bug22231.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / lang |
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"