summaryrefslogtreecommitdiff
path: root/Zend/zend.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend.c')
-rw-r--r--Zend/zend.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Zend/zend.c b/Zend/zend.c
index 19401d2e03..e8a6a40ff6 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -319,6 +319,7 @@ ZEND_API int zend_print_zval_ex(zend_write_func_t write_func, zval *expr, int in
{
zval expr_copy;
int use_copy;
+ int ret;
zend_make_printable_zval(expr, &expr_copy, &use_copy);
if (use_copy) {
@@ -331,10 +332,11 @@ ZEND_API int zend_print_zval_ex(zend_write_func_t write_func, zval *expr, int in
return 0;
}
write_func(Z_STRVAL_P(expr), Z_STRLEN_P(expr));
+ ret = Z_STRLEN_P(expr);
if (use_copy) {
zval_dtor(expr);
}
- return Z_STRLEN_P(expr);
+ return ret;
}
/* }}} */
@@ -366,7 +368,7 @@ ZEND_API void zend_print_flat_zval_r(zval *expr TSRMLS_DC) /* {{{ */
zend_printf("%s Object (", "Unknown Class");
}
if (class_name) {
- efree((char*)class_name);
+ STR_RELEASE(class_name);
}
if (Z_OBJ_HANDLER_P(expr, get_properties)) {
properties = Z_OBJPROP_P(expr);