#40181 [WFx]: double free problem after 64k iterations

From: Date: Sun, 21 Jan 2007 00:12:49 +0000
Subject: #40181 [WFx]: double free problem after 64k iterations
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-107831@lists.php.net to get a copy of this message
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] tony2001@php.net 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

« previous php.bugs (#107831) next »