From: antonio04 at gmail dot com Operating system: FreeBSD 7.2 PHP version: 5.3.1 PHP Bug Type: Session related Bug description: If session var is NULL, value will be overwritten by global with same name
Description: ------------ When you have a session variable whose whose session array key is defined but with a NULL value, this variable acts as if register_globals were enabled, i.e. any value set to a global variable of the same name is stored in the session as this key's value. Once the session variable's value has been changed to something not null, this behavior ceases. A cursory search in the archives shows that this issue was categorized as a bogus bug report six years ago (#28482), but the reason given does not make sense, as the session variable key certainly does exist and acts unexpectedly when initialized to NULL. Thanks! Reproduce code: --------------- <?php /* Script 1 */ session_start(); init_set('register_globals', 0); $_SESSION['foo'] = NULL; $foo = 'bar'; ?> <?php /* Script 2 */ session_start(); var_dump($_SESSION['foo']); ?> Expected result: ---------------- Script 1: Script 2: Notice: Undefined index: foo in /home/www/interpals/test.php on line 3 NULL Actual result: -------------- Script 1: Script 2: string(3) "bar" -- Edit bug report at http://bugs.php.net/?id=51120&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=51120&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=51120&r=trysnapshot53 Try a snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=51120&r=trysnapshot60 Fixed in SVN: http://bugs.php.net/fix.php?id=51120&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=51120&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=51120&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=51120&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=51120&r=needscript Try newer version: http://bugs.php.net/fix.php?id=51120&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=51120&r=support Expected behavior: http://bugs.php.net/fix.php?id=51120&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=51120&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=51120&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=51120&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=51120&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=51120&r=dst IIS Stability: http://bugs.php.net/fix.php?id=51120&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=51120&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=51120&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=51120&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=51120&r=mysqlcfg