In spl_iterators.c around line 320 (function spl_recursive_it_rewind_ex), there's the following code:

    erealloc(object->iterators, sizeof(spl_sub_iterator));

As we see, object->iterators is not assigned the result of realloc. As I can see, this may lead to a problem when erealloc returns different location then it was before. For me it happens when iterator is repeatedly applied to same object (i.e., multiple passes for same object, rewinding between them). So I think it needs to be fixed - I just wated to ask whoever is responsible for the code before I commit the fix if there was any idea behind not assigning erealloc result or it's just an omission.

--
Stanislav Malyshev, Zend Products Engineer
[EMAIL PROTECTED]  http://www.zend.com/ +972-3-6139665 ext.115

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to