summaryrefslogtreecommitdiff
path: root/ext/com_dotnet/com_handlers.c
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2004-01-13 16:02:56 +0000
committerWez Furlong <wez@php.net>2004-01-13 16:02:56 +0000
commitbba1ded0b2aeb12fb93c327c44a4694ae4538461 (patch)
tree0831075ba5fada32ae802ca7fa919fff0c829031 /ext/com_dotnet/com_handlers.c
parent3961fec217f9f1d1395abdb1afd73612429198b2 (diff)
downloadphp-git-bba1ded0b2aeb12fb93c327c44a4694ae4538461.tar.gz
Fix refcount on these return values to avoid a leak and allow object dtor's to be called.
This in turn prevents a massive slow-down in CoUninitialize which would have to forcibly destroy the COM objects in request shutdown.
Diffstat (limited to 'ext/com_dotnet/com_handlers.c')
-rw-r--r--ext/com_dotnet/com_handlers.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/com_dotnet/com_handlers.c b/ext/com_dotnet/com_handlers.c
index f9f29e04d5..d4211b4dc1 100644
--- a/ext/com_dotnet/com_handlers.c
+++ b/ext/com_dotnet/com_handlers.c
@@ -37,6 +37,8 @@ static zval *com_property_read(zval *object, zval *member, zend_bool silent TSRM
MAKE_STD_ZVAL(return_value);
ZVAL_NULL(return_value);
+ return_value->refcount = 0;
+ return_value->is_ref = 0;
obj = CDNO_FETCH(object);
@@ -110,6 +112,8 @@ static zval *com_read_dimension(zval *object, zval *offset TSRMLS_DC)
MAKE_STD_ZVAL(return_value);
ZVAL_NULL(return_value);
+ return_value->refcount = 0;
+ return_value->is_ref = 0;
obj = CDNO_FETCH(object);