ID: 36287 User updated by: meeb at meeb dot org Reported By: meeb at meeb dot org Status: Open Bug Type: Filesystem function related Operating System: Debian64 EMT64 SMP PHP Version: 5.1.2 New Comment:
s/iterator/object/ whoops :p Previous Comments: ------------------------------------------------------------------------ [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