diff options
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 3b87145e6c..9083e609c0 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -255,14 +255,13 @@ static int parse_arg_object_to_string(zval **arg TSRMLS_DC) /* {{{ */ { 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, IS_STRING TSRMLS_CC) == SUCCESS) { zval_ptr_dtor(arg); *arg = obj; 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)) { |
