com php-src: fix array keys being too strict to refs: Zend/zend_operators.h
| From: | Bob Weinand | Date: | Mon, 05 Oct 2015 09:49:34 +0000 |
| Subject: | com php-src: fix array keys being too strict to refs: Zend/zend_operators.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-89291@lists.php.net to get a copy of this message | ||
Commit: d0c23bf03bb8c39205ccc814df769cebc6ca2a8a
Author: Antony Dovgal <tony2001@php.net> Mon, 5 Oct 2015 12:37:04 +0300
Parents: 881c50252066132f83e190325e344f532be19033
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=d0c23bf03bb8c39205ccc814df769cebc6ca2a8a
Log:
fix array keys being too strict to refs
and add tests
Changed paths:
M Zend/zend_operators.h
Diff:
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h
index f8c155d..987d055 100644
--- a/Zend/zend_operators.h
+++ b/Zend/zend_operators.h
@@ -731,6 +731,8 @@ static zend_always_inline int fast_equal_check_string(zval *op1, zval *op2)
static zend_always_inline int fast_is_identical_function(zval *op1, zval *op2)
{
+ ZVAL_DEREF(op1);
+ ZVAL_DEREF(op2);
if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
return 0;
} else if (Z_TYPE_P(op1) <= IS_TRUE) {
@@ -741,6 +743,8 @@ static zend_always_inline int fast_is_identical_function(zval *op1, zval *op2)
static zend_always_inline int fast_is_not_identical_function(zval *op1, zval *op2)
{
+ ZVAL_DEREF(op1);
+ ZVAL_DEREF(op2);
if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
return 1;
} else if (Z_TYPE_P(op1) <= IS_TRUE) {