summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Zmievski <andrei@php.net>2000-06-17 15:53:33 +0000
committerAndrei Zmievski <andrei@php.net>2000-06-17 15:53:33 +0000
commit6e1dee8c1eb235d9400ac35564898e03833ecd69 (patch)
tree732b1dd41a0e5214fa5db47d3d282f9743dcb5bd
parenta4edfc06c5afd296596838dc79d5bdafc7abd5d3 (diff)
downloadphp-git-6e1dee8c1eb235d9400ac35564898e03833ecd69.tar.gz
Have to use zval_ptr_dtor() on values returned from user functions.
-rw-r--r--ext/standard/var.c12
-rw-r--r--ext/wddx/wddx.c12
2 files changed, 8 insertions, 16 deletions
diff --git a/ext/standard/var.c b/ext/standard/var.c
index ed65ce4bbe..286ca463b4 100644
--- a/ext/standard/var.c
+++ b/ext/standard/var.c
@@ -255,10 +255,8 @@ void php_var_serialize(pval *buf, pval **struc)
zval_dtor(fname);
FREE_ZVAL(fname);
- if (retval_ptr) {
- zval_dtor(retval_ptr);
- FREE_ZVAL(retval_ptr);
- }
+ if (retval_ptr)
+ zval_ptr_dtor(&retval_ptr);
return;
}
@@ -521,10 +519,8 @@ int php_var_unserialize(pval **rval, const char **p, const char *max)
zval_dtor(fname);
FREE_ZVAL(fname);
- if (retval_ptr) {
- zval_dtor(retval_ptr);
- FREE_ZVAL(retval_ptr);
- }
+ if (retval_ptr)
+ zval_ptr_dtor(&retval_ptr);
}
return *((*p)++) == '}';
diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c
index 110c4887cc..441baba15a 100644
--- a/ext/wddx/wddx.c
+++ b/ext/wddx/wddx.c
@@ -449,10 +449,8 @@ static void php_wddx_serialize_object(wddx_packet *packet, zval *obj)
zval_dtor(fname);
FREE_ZVAL(fname);
- if (retval) {
- zval_dtor(retval);
- FREE_ZVAL(retval);
- }
+ if (retval)
+ zval_ptr_dtor(&retval);
}
static void php_wddx_serialize_array(wddx_packet *packet, zval *arr)
@@ -756,10 +754,8 @@ static void php_wddx_pop_element(void *user_data, const char *name)
zval_dtor(fname);
FREE_ZVAL(fname);
- if (retval) {
- zval_dtor(retval);
- FREE_ZVAL(retval);
- }
+ if (retval)
+ zval_ptr_dtor(&retval);
}
else
zend_hash_update(target_hash,