summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2004-09-04 17:03:45 +0000
committerAndi Gutmans <andi@php.net>2004-09-04 17:03:45 +0000
commitd7422e38211b82c0985d4307b7e7f3f04e22ebca (patch)
tree86cb4b7c9752a4281cb861132ca6186ba29f67b5 /Zend/zend_API.c
parenteb3900b77aa3b71b8433a73c756b9fa01dcea0e7 (diff)
downloadphp-git-d7422e38211b82c0985d4307b7e7f3f04e22ebca.tar.gz
- Don't destroy object when calling overloaded cast method in
- zend_parse_parameters()
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 5b9c16f3da..bd1450cff5 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -318,6 +318,7 @@ static char *zend_parse_arg_impl(zval **arg, va_list *va, char **spec TSRMLS_DC)
case IS_OBJECT: {
if (Z_OBJ_HANDLER_PP(arg, cast_object)
&& Z_OBJ_HANDLER_PP(arg, cast_object)(*arg, *arg, IS_STRING, 0 TSRMLS_CC) == SUCCESS) {
+ SEPARATE_ZVAL_IF_NOT_REF(arg);
*pl = Z_STRLEN_PP(arg);
*p = Z_STRVAL_PP(arg);
break;