diff options
author | Xinchen Hui <laruence@php.net> | 2012-02-26 14:56:26 +0000 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2012-02-26 14:56:26 +0000 |
commit | 1923ecfe2552851b4ed19cadcc78b1f957bf58ef (patch) | |
tree | 7c21a8c634b738dbf0a363e0ccd45bba898e6a85 /Zend/zend_API.c | |
parent | 38b549ea2fec95da93e03c4a8aec7e8642171648 (diff) | |
download | php-git-1923ecfe2552851b4ed19cadcc78b1f957bf58ef.tar.gz |
Improve fix for #61165, the previous one cause #43450 test failed
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r-- | Zend/zend_API.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 4c0e0f6b2f..1c608a7a30 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -263,8 +263,7 @@ static int parse_arg_object_to_string(zval **arg, char **p, int *pl, int type TS { if (Z_OBJ_HANDLER_PP(arg, cast_object)) { zval *obj; - ALLOC_ZVAL(obj); - MAKE_COPY_ZVAL(arg, obj); + MAKE_STD_ZVAL(obj); if (Z_OBJ_HANDLER_P(*arg, cast_object)(*arg, obj, type TSRMLS_CC) == SUCCESS) { zval_ptr_dtor(arg); *arg = obj; @@ -272,7 +271,7 @@ static int parse_arg_object_to_string(zval **arg, char **p, int *pl, int type TS *p = Z_STRVAL_PP(arg); return SUCCESS; } - zval_ptr_dtor(&obj); + efree(obj); } /* Standard PHP objects */ if (Z_OBJ_HT_PP(arg) == &std_object_handlers || !Z_OBJ_HANDLER_PP(arg, cast_object)) { |