diff options
| author | Wez Furlong <wez@php.net> | 2004-01-13 16:02:56 +0000 |
|---|---|---|
| committer | Wez Furlong <wez@php.net> | 2004-01-13 16:02:56 +0000 |
| commit | bba1ded0b2aeb12fb93c327c44a4694ae4538461 (patch) | |
| tree | 0831075ba5fada32ae802ca7fa919fff0c829031 /ext/com_dotnet/com_handlers.c | |
| parent | 3961fec217f9f1d1395abdb1afd73612429198b2 (diff) | |
| download | php-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.c | 4 |
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); |
