Annotation of embedaddon/php/tests/lang/bug22231.phpt, revision 1.1.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>