|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #20175 Array key -1 can crash PHP
Submitted: 2002-10-30 13:34 UTC Modified: 2002-11-10 11:53 UTC
Avg. Score:4.0 ± 1.0
Reproduced:0 of 0 (0.0%)
From: enigma at turingstudio dot com Assigned:
Status: Wont fix Package: Scripting Engine problem
PHP Version: 4.3.0-dev OS: Linux
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2002-10-30 13:34 UTC] enigma at turingstudio dot com

we've recently put in a set of methods in the binarycloud 
core classes so they can enforce their singleton status.

An example:

    // {{{ method GetInstance()

     * This method enforces this class's singleton
     * status. It check s astatic var for an instance,
     * if that instance exists a reference to it
     * is returned. If it does not exist it is created
     * and a reference is returned.
   	 * @author hans lellelid,
	    * @access public
    function &GetInstance() {
		    static $instance;
	    	if(!isset($instance)) {
	      		$instance = new Request();
      return $instance;

    // }}}

note the line:

$instance = new Request();

that means the instance is always overwritten.

we have to do that because:

$instance =& new Request();

results in a null $instance.

We believe this is a bug, but it's on the edge of possible 
expected behavior.




Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2002-10-30 13:37 UTC]
Can you see if Zend Engine 2 solves this?

 [2002-10-30 14:07 UTC] enigma at turingstudio dot com

I'm certain it does, but I'll ask andi on the list to check 
for us.
It would be reeeeeeally nice yo have for us in 4.2 though 

Thanks for the quick response.

 [2002-11-10 11:53 UTC]
This is fixed in CVS for ZE2. I don't think this would be fixed for ZE1, so I put it as wontfix for now. 
PHP Copyright © 2001-2023 The PHP Group
All rights reserved.
Last updated: Tue Jan 31 11:03:44 2023 UTC