ID: 40181
User updated by: giovanni at giacobbi dot net
Reported By: giovanni at giacobbi dot net
Status: Wont fix
Bug Type: Reproducible crash
Operating System: linux
PHP Version: 4.4.4
New Comment:
I'd like to know what causes this weird behaviour. I don't want to
crush on such things if manipulating long arrays anyway.
Please note that taking away "is_int($index)" from my code snippet lets
the endless loop keep going forever (well, at least until you have
enough RAM).
Thank you.
Previous Comments:
------------------------------------------------------------------------
[2007-01-20 19:35:07] [EMAIL PROTECTED]
You have to upgrade to PHP5 in order to change this 65536 limit to
2147483647.
Though, I would not expect endless loops to "work" anyway.
------------------------------------------------------------------------
[2007-01-20 15:40:41] giovanni at giacobbi dot net
Description:
------------
The following code snippet produces a double free error. I don't think
my glibc/linux versions matter, anyway I can provide them on request.
An interesting thing is that the bug manifests itself only at the
65536th iteration. Removing any reference to the $index variable
doesn't reproduce the bug any longer.
Reproduce code:
---------------
function m($index) {
is_int($index);
global $x;
return $x[$index];
}
$i = 0;
$x = array("x");
while (m($i)) {
$p[] = m($i);
}
Actual result:
--------------
*** glibc detected *** php: double free or corruption (fasttop):
0x09d89a08 ***
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=40181&edit=1