Edit report at https://bugs.php.net/bug.php?id=61418&edit=1
ID: 61418 Updated by: cataphr...@php.net Reported by: melkorm at gmail dot com Summary: Segmentation foult using FiltesystemIterator & RegexIterator -Status: Assigned +Status: Closed Type: Bug Package: SPL related Operating System: Linux Mint 12 PHP Version: 5.3.10 Assigned To: cataphract Block user comment: N Private report: N Previous Comments: ------------------------------------------------------------------------ [2012-03-18 15:07:08] cataphr...@php.net Automatic comment from SVN on behalf of cataphract Revision: http://svn.php.net/viewvc/?view=revision&revision=324327 Log: - Fixed bug #61418 (Segmentation fault when DirectoryIterator's or FilesystemIterator's iterators are requested more than once without having had its dtor callback called in between). ------------------------------------------------------------------------ [2012-03-17 23:27:20] cataphr...@php.net Verified. The zend_object_iterator_funcs.dtor function (implementation: spl_filesystem_tree_it_dtor) seems faulty. In the reproduce script here, the zend_object_iterator is requested twice: first by the RegexIterator constructor, and then by foreach. The zend_object_iterator returned is the same in both cases -- that owned by the FilesystemIterator and its destructor gets called twice. But obviously the destructor is not prepared to be called twice as it unconditionally calls zval_ptr_dtor (for some reason, twice) and zeroes the reference to the owning object. ------------------------------------------------------------------------ [2012-03-17 18:52:31] melkorm at gmail dot com Sorry for this, but I am not used to this bugtrucker yet, anywho proper script should look like that: $fileIterator = new FilesystemIterator(__DIR__, FilesystemIterator::KEY_AS_FILENAME); $regexpIterator = new RegexIterator($fileIterator, '#.*#', \RegexIterator::MATCH, \RegexIterator::USE_KEY ); foreach ($fileIterator as $key => $file) { } No idea why this `doubled`. ------------------------------------------------------------------------ [2012-03-17 18:50:14] melkorm at gmail dot com There is a typo ------------------------------------------------------------------------ [2012-03-16 17:52:20] melkorm at gmail dot com It also fails at : melkorm@bibiop ~ $ php -v PHP 5.3.6-13ubuntu3.6 with Suhosin-Patch (cli) (built: Feb 11 2012 03:26:01) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans ------------------------------------------------------------------------ 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 https://bugs.php.net/bug.php?id=61418 -- Edit this bug report at https://bugs.php.net/bug.php?id=61418&edit=1