PHP 4.0 Bug #7258: Dangling references destroy session state

From: Date: Mon, 16 Oct 2000 20:08:47 +0000
Subject: PHP 4.0 Bug #7258: Dangling references destroy session state
Groups: php.dev 
Request: Send a blank email to php-dev+get-35190@lists.php.net to get a copy of this message
From: sd@b-comp.de Operating system: Linux PHP version: 4.0.3pl1 PHP Bug Type: Scripting Engine problem Bug description: Dangling references destroy session state (The problem described is specific to 4.0.3 and 4.0.3pl1. The scripts below work fine with 4.0.2.) Let $a be an array kept in the session state. Whenever a reference $x to an element of $a falls of the end of a script, the referenced array element is destroyed. Putting an ``undef($x);'' at the end of the script solves the problem. The following two scripts demonstate the problem: BEGIN FILE test1.php <?php session_register('a'); $a = array(); $a['foo'] = 'FOO'; ?> <html> <a href="test2.php?<?=SID?>">link</a> </html> END FILE BEGIN FILE test2.php <?php session_register('a'); $x = &$a['foo']; ?> <html> x=<?=$x?><br> <a href="test2.php?<?=SID?>">link</a> </html> END FILE Open test1.php in a browser and follow the link to test2.php. You'll see that $x is 'FOO'. Now follow that link again and $x is undefined. The scripts work if you put an ``undef($x);'' at the end of test2.php. -- Edit Bug report at: http://bugs.php.net/?id=7258&edit=1

« previous php.dev (#35190) next »