diff options
author | Moriyoshi Koizumi <moriyoshi@php.net> | 2003-04-03 00:50:17 +0000 |
---|---|---|
committer | Moriyoshi Koizumi <moriyoshi@php.net> | 2003-04-03 00:50:17 +0000 |
commit | f7a8499806c4fa7994fdff3655be5018f71f8b99 (patch) | |
tree | 2754054614759aab177a474b5452cfa41578363d | |
parent | 8784a497b891153b0032d1446d5ad22e80a72f1d (diff) | |
download | php-git-f7a8499806c4fa7994fdff3655be5018f71f8b99.tar.gz |
Fixed memleak in output buffering facility
-rw-r--r-- | main/output.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/main/output.c b/main/output.c index 4109019a55..adfbc11d11 100644 --- a/main/output.c +++ b/main/output.c @@ -483,10 +483,10 @@ static int php_ob_init(uint initial_size, uint block_size, zval *output_handler, /* do we have array(object,method) */ if (zend_is_callable(output_handler, 1, &handler_name)) { SEPARATE_ZVAL(&output_handler); - output_handler->refcount++; result = php_ob_init_named(initial_size, block_size, handler_name, output_handler, chunk_size, erase TSRMLS_CC); efree(handler_name); } else { + efree(handler_name); /* init all array elements recursively */ zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(output_handler), &pos); while (zend_hash_get_current_data_ex(Z_ARRVAL_P(output_handler), (void **)&tmp, &pos) == SUCCESS) { @@ -500,7 +500,6 @@ static int php_ob_init(uint initial_size, uint block_size, zval *output_handler, } else { if (output_handler) { SEPARATE_ZVAL(&output_handler); - output_handler->refcount++; } result = php_ob_init_named(initial_size, block_size, OB_DEFAULT_HANDLER_NAME, output_handler, chunk_size, erase TSRMLS_CC); } |