Bug #15678 Updated: isset fails for 4.1.1 and CVS version

From: Date: Thu, 28 Feb 2002 08:47:29 +0000
Subject: Bug #15678 Updated: isset fails for 4.1.1 and CVS version
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-1260@lists.php.net to get a copy of this message
ID: 15678 Updated by: yohgaki@php.net Reported By: alberty@neptunelabs.de -Status: Open +Status: Critical Bug Type: Variables related Operating System: i686-pc-linux-gnu PHP Version: 4.0CVS-2002-02-2 New Comment: This is critical bug in any cases. isset() must not return FALSE when value is not set. This is enough to be a critical bug. This bug is not only hard to find, but also can make security hole in script. Don't you have script relys on isset() to grant access? (Well, I don't have actually since I like everything to be explicit, but some users will have) Previous Comments: ------------------------------------------------------------------------ [2002-02-27 07:24:00] derick@php.net not critical ------------------------------------------------------------------------ [2002-02-23 22:59:43] yohgaki@php.net It should be fixed before 4.2.0 at least. Hopefully before 4.1.2 :) ------------------------------------------------------------------------ [2002-02-22 11:41:57] mfischer@php.net Btw, this has nothing to do with current CVS. This applies to at least 4.1.0 I tested (so there's nothing broken since current stable and CVS; if it's broken, it is for a long time) ------------------------------------------------------------------------ [2002-02-22 11:17:03] alberty@neptunelabs.de Andrey Hristov wrote: >The answer to your question: ><?php > var_dump((int) 'y'); >?> ??? this is not the answer of the second question and also not to the first one, because <?php $c['c']='Hallo'; echo $c[0]; ?> results: "Notice: Undefined offset: 0 in foo.php on line 2" ------------------------------------------------------------------------ [2002-02-22 11:03:55] alberty@neptunelabs.de hi, the declaration of a second dimension in a normal array results a strange array content. <?php $x['c']='foo'; $x['c']['d']='bar'; print_r($x); ?> results: Array ( [c] => boo ) is this a normal behavior? i think this ist completely wrong, because 'd' is not string position 1. Also a normal condition like <?php $x['c']='foo'; if (isset($x['c']['y'])) echo 'yep'; else echo 'no'; ?> results true ... but it is absolutely not true i have test it on linux with the lastest cvs tree php version. regards, Steve ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=15678&edit=1

« previous php.bugs (#1260) next »