Index: spl_array.c =================================================================== RCS file: /repository/php-src/ext/spl/spl_array.c,v retrieving revision 1.71.2.17.2.13.2.17 diff -u -w -p -r1.71.2.17.2.13.2.17 spl_array.c --- spl_array.c 20 Jul 2008 16:32:55 -0000 1.71.2.17.2.13.2.17 +++ spl_array.c 24 Jul 2008 12:40:20 -0000 @@ -86,6 +86,8 @@ static inline HashTable *spl_array_get_h } } /* }}} */ +static int spl_array_skip_protected(spl_array_object *intern TSRMLS_DC); + SPL_API int spl_hash_verify_pos(spl_array_object * intern TSRMLS_DC) /* {{{ */ { HashTable *ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); @@ -103,6 +105,7 @@ SPL_API int spl_hash_verify_pos(spl_arra } /* HASH_UNPROTECT_RECURSION(ht); */ zend_hash_internal_pointer_reset_ex(spl_array_get_hash_table(intern, 0 TSRMLS_CC), &intern->pos); + spl_array_skip_protected(intern TSRMLS_CC); return FAILURE; } /* }}} */ @@ -227,6 +230,7 @@ static zend_object_value spl_array_objec } zend_hash_internal_pointer_reset_ex(spl_array_get_hash_table(intern, 0 TSRMLS_CC), &intern->pos); + spl_array_skip_protected(intern TSRMLS_CC); return retval; } /* }}} */