HASH_PROTECT_RECURSION/HASH_UNPROTECT_RECURSION is defined zend_hash.c. Why HASH_UNPROTECT_RECURSION is decrementing nApplyCount unconditionally while HASH_PROTECT_RECURSION is incrementing nApplyCount conditionally?
It does not make sense, since apply count became 255 from 0 when bApplyProtection is false. Patch is included. -- Yasuo Ohgaki
/usr/bin/diff: conflicting specifications of output style --- zend_hash.c.~1.83.~ Sat Apr 13 16:06:23 2002 +++ zend_hash.c Tue Apr 16 12:41:55 2002 @@ -112,8 +112,9 @@ } -#define HASH_UNPROTECT_RECURSION(ht) \ - (ht)->nApplyCount--; +#define HASH_UNPROTECT_RECURSION(ht) \ + if ((ht)->bApplyProtection) \ + (ht)->nApplyCount--; #define ZEND_HASH_IF_FULL_DO_RESIZE(ht) \
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php