#34009 [Fbk->Opn]: PHP 4.4.0 shows on some platforms a return by reference Notice,but it shouldn't
| From: | ast at gmx dot ch | Date: | Sun, 07 Aug 2005 12:02:25 +0000 |
| Subject: | #34009 [Fbk->Opn]: PHP 4.4.0 shows on some platforms a return by reference Notice,but it shouldn't | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-83126@lists.php.net to get a copy of this message | ||
ID: 34009
User updated by: ast at gmx dot ch
Reported By: ast at gmx dot ch
-Status: Feedback
+Status: Open
Bug Type: Scripting Engine problem
Operating System: Gentoo Linux
PHP Version: 4.4.0
New Comment:
I've contacted one of the users which can reproduce the bug. He will
ask his provider to give you an ssh account for debugging.
We will update this bug tracker ASAP.
Previous Comments:
------------------------------------------------------------------------
[2005-08-05 20:08:32] tony2001@php.net
Please try CVS snapshot first (I've given the link to it).
I have no idea how to look into something that is not reproducible, so
I'd appreciate if you give some guidelines (an account on a machine
would be fine).
------------------------------------------------------------------------
[2005-08-05 20:02:42] ast at gmx dot ch
That's my point. It doesn't work on all systems.
It works on two of my systems, both running PHP 4.4.0.
It doesn't work on 3 other systems I have access to test the reproduce
code.
I've listed the PHPinfo links and some systems specs of systems that
pass the test and systems that don't pass the test. All of them are
running PHP 4.4.0.
I'd really appreciate if you could look into the issue with your
indepth knowledge of PHP.
------------------------------------------------------------------------
[2005-08-05 19:56:47] tony2001@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
Works fine here.
------------------------------------------------------------------------
[2005-08-05 19:50:05] ast at gmx dot ch
Here's the reproduce code:
<?php
error_reporting(E_ALL);
if (version_compare(PHPVERSION(), '4.4.0') != 0) print "This reproduce
code is only for PHP 4.4.0";
$bar = new Bug();
$baz = $bar->foo();
class Bug {
var $_flag;
function Bug() {
$this->_flag = 0;
}
function &foo() {
if (!$this->_flag) {
$false = false;
return $false; /* this is line 18 */
}
$false = false;
return $false;
}
}
?>
Expected result:
----------------
no NOTICEs
Actual result:
--------------
Notice: Only variable references should be returned by reference in
reproduce.php on line 18
I've added the two other methods in the original reproduce code just to
show that very slight modifications of the code do not give a PHP
Notice.
And please remember that I can't reproduce it on all systems.
------------------------------------------------------------------------
[2005-08-05 19:39:34] tony2001@php.net
Please provide an exact reproduce code (the URL you've given contains a
lot of code snippets and I can't understand which one of them is the
reproduce case).
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/34009
--
Edit this bug report at http://bugs.php.net/?id=34009&edit=1