com php-src: Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency? with ===): Zend/bug6 9756.phpt Zend/zend_hash.c

From: Date: Fri, 05 Jun 2015 07:04:58 +0000
Subject: com php-src: Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency? with ===): Zend/bug6 9756.phpt Zend/zend_hash.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-87070@lists.php.net to get a copy of this message
Commit: ed5fbf5e49eab435cd7a0a9a5627698de92887c1 Author: Dmitry Stogov <dmitry@zend.com> Fri, 5 Jun 2015 10:04:58 +0300 Parents: d251ced225138381b61dfa5c5f682bbb28e309d9 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=ed5fbf5e49eab435cd7a0a9a5627698de92887c1 Log: Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency? with ===) Bugs: https://bugs.php.net/69756 Changed paths: A Zend/bug69756.phpt M Zend/zend_hash.c Diff: diff --git a/Zend/bug69756.phpt b/Zend/bug69756.phpt new file mode 100644 index 0000000..ca638fb --- /dev/null +++ b/Zend/bug69756.phpt @@ -0,0 +1,12 @@ +--TEST-- +Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency? with ===). +--FILE-- +<?php +$arr = range(1, 2); +foreach($arr as &$item ) { + var_dump($arr === array(1, 2)); +} +?> +--EXPECT-- +bool(true) +bool(true) diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index bb0a2ff..b8d3b1f 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -71,7 +71,7 @@ static void _zend_is_inconsistent(const HashTable *ht, const char *file, int lin #define HASH_PROTECT_RECURSION(ht) \ if ((ht)->u.flags & HASH_FLAG_APPLY_PROTECTION) { \ - if ((ht)->u.flags >= (3 << 8)) { \ + if (((ht)->u.flags & 0xff00) >= (3 << 8)) { \ zend_error_noreturn(E_ERROR, "Nesting level too deep - recursive dependency?");\ } \ ZEND_HASH_INC_APPLY_COUNT(ht); \

« previous php.cvs (#87070) next »