ID:               36287
 Updated by:       [EMAIL PROTECTED]
 Reported By:      meeb at meeb dot org
-Status:           Assigned
+Status:           Closed
 Bug Type:         Filesystem function related
 Operating System: *
 PHP Version:      5.1.2
 Assigned To:      helly
 New Comment:

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.




Previous Comments:
------------------------------------------------------------------------

[2006-02-04 18:44:42] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.1-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.1-win32-latest.zip



------------------------------------------------------------------------

[2006-02-04 17:45:06] meeb at meeb dot org

s/iterator/object/

whoops :p

------------------------------------------------------------------------

[2006-02-04 17:42:12] meeb at meeb dot org

Description:
------------
When accidently comparing a the iterator created by
RecursiveDirectoryIterator against a string PHP segfaulted. This is new
to 5.1.2 (worked under 5.1.1 and I was unaware of the issue with my
code). There are obvious workarounds for this so no major panic.

Removing the 'if':

if($file!="."&&$file!="..")

stops the segfault.

Unfortunately I only have EMT64/Debian64 servers available so I am
unable to test this for cross-platform compatibility, and I was unable
to find any exact matching bugs (closest were a few stack
corruptions).

This occurs when the script is executed on the command line and via
apache2. I have saved straces should they be requested.

Reproduce code:
---------------
$this->dir = new RecursiveIteratorIterator(new
RecursiveDirectoryIterator("."),true);
foreach($this->dir as $file){
  // works...
  echo $file->getPathName()."\n";
  // segfauls...
  if($file!="."&&$file!="..") echo $file->getPathName()."\n";
}


Expected result:
----------------
./dir/
./dir/file1.ext
./dir/file2.ext
....

Actual result:
--------------
Segmentation Fault.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=36287&edit=1

Reply via email to