diff options
author | Dmitry Stogov <dmitry@php.net> | 2009-09-21 11:22:13 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2009-09-21 11:22:13 +0000 |
commit | b4ba7fb96e829d9ccc58e5fd24411008e95c15f1 (patch) | |
tree | 948a526736b49d69287a2a3c69993e30dbb0a3c1 /main/output.c | |
parent | dc1e7d6d6dd256b3fa2d06deeb7ea88da3b7fed5 (diff) | |
download | php-git-b4ba7fb96e829d9ccc58e5fd24411008e95c15f1.tar.gz |
Fixed memory leak
Diffstat (limited to 'main/output.c')
-rw-r--r-- | main/output.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/main/output.c b/main/output.c index dff4959972..ee1cb4ca0c 100644 --- a/main/output.c +++ b/main/output.c @@ -227,8 +227,6 @@ PHPAPI void php_end_ob_buffer(zend_bool send_buffer, zend_bool just_flush TSRMLS ALLOC_INIT_ZVAL(orig_buffer); ZVAL_STRINGL(orig_buffer, OG(active_ob_buffer).buffer, OG(active_ob_buffer).text_length, 1); - Z_SET_REFCOUNT_P(orig_buffer, 2); /* don't let call_user_function() destroy our buffer */ - Z_SET_ISREF_P(orig_buffer); ALLOC_INIT_ZVAL(z_status); ZVAL_LONG(z_status, status); @@ -248,11 +246,7 @@ PHPAPI void php_end_ob_buffer(zend_bool send_buffer, zend_bool just_flush TSRMLS if (!just_flush) { zval_ptr_dtor(&OG(active_ob_buffer).output_handler); } - Z_SET_REFCOUNT_P(orig_buffer, Z_REFCOUNT_P(orig_buffer) - 2); - if (Z_REFCOUNT_P(orig_buffer) <= 0) { /* free the zval */ - zval_dtor(orig_buffer); - FREE_ZVAL(orig_buffer); - } + zval_ptr_dtor(&orig_buffer); zval_ptr_dtor(&z_status); } |