summaryrefslogtreecommitdiff
path: root/Zend/zend_operators.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2014-04-15 11:05:03 +0800
committerXinchen Hui <laruence@gmail.com>2014-04-15 11:05:03 +0800
commita0690ff2881a3ed741c81cceec58ce716161e552 (patch)
tree379a53683035b80ac793c9ec15601b5ccb5c9652 /Zend/zend_operators.c
parent2056359594cbaeeb38d13a73f54cfaba52b17475 (diff)
downloadphp-git-a0690ff2881a3ed741c81cceec58ce716161e552.tar.gz
Fixed zend_object_get_t in simpleXML
Diffstat (limited to 'Zend/zend_operators.c')
-rw-r--r--Zend/zend_operators.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index f6c2a9161f..db6502ce66 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -361,7 +361,8 @@ try_again:
} \
} else { \
if (Z_OBJ_HT_P(op)->get) { \
- zval *newop = Z_OBJ_HT_P(op)->get(op TSRMLS_CC); \
+ zval rv; \
+ zval *newop = Z_OBJ_HT_P(op)->get(op, &rv TSRMLS_CC); \
if (Z_TYPE_P(newop) != IS_OBJECT) { \
/* for safety - avoid loop */ \
zval_dtor(op); \
@@ -1628,7 +1629,8 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {
}
if (Z_TYPE_P(op1) == IS_OBJECT) {
if (Z_OBJ_HT_P(op1)->get) {
- op_free = Z_OBJ_HT_P(op1)->get(op1 TSRMLS_CC);
+ zval rv;
+ op_free = Z_OBJ_HT_P(op1)->get(op1, &rv TSRMLS_CC);
ret = compare_function(result, op_free, op2 TSRMLS_CC);
zend_free_obj_get_result(op_free TSRMLS_CC);
return ret;
@@ -1646,7 +1648,8 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {
}
if (Z_TYPE_P(op2) == IS_OBJECT) {
if (Z_OBJ_HT_P(op2)->get) {
- op_free = Z_OBJ_HT_P(op2)->get(op2 TSRMLS_CC);
+ zval rv;
+ op_free = Z_OBJ_HT_P(op2)->get(op2, &rv TSRMLS_CC);
ret = compare_function(result, op1, op_free TSRMLS_CC);
zend_free_obj_get_result(op_free TSRMLS_CC);
return ret;