dmitry Tue Jan 24 08:54:30 2006 UTC Modified files: (Branch: PHP_5_0) /php-src/ext/com_dotnet com_handlers.c com_iterator.c com_misc.c php_com_dotnet_internal.h Log: MFH: Fixed crash on destroying COM object http://cvs.php.net/viewcvs.cgi/php-src/ext/com_dotnet/com_handlers.c?r1=1.22.2.5&r2=1.22.2.6&diff_format=u Index: php-src/ext/com_dotnet/com_handlers.c diff -u php-src/ext/com_dotnet/com_handlers.c:1.22.2.5 php-src/ext/com_dotnet/com_handlers.c:1.22.2.6 --- php-src/ext/com_dotnet/com_handlers.c:1.22.2.5 Tue Apr 19 05:57:21 2005 +++ php-src/ext/com_dotnet/com_handlers.c Tue Jan 24 08:54:29 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: com_handlers.c,v 1.22.2.5 2005/04/19 05:57:21 wez Exp $ */ +/* $Id: com_handlers.c,v 1.22.2.6 2006/01/24 08:54:29 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -673,6 +673,7 @@ VariantInit(&obj->v); obj->code_page = CP_ACP; obj->ce = ce; + obj->zo.ce = ce; retval.handle = zend_objects_store_put(obj, NULL, php_com_object_free_storage, php_com_object_clone TSRMLS_CC); retval.handlers = &php_com_object_handlers; http://cvs.php.net/viewcvs.cgi/php-src/ext/com_dotnet/com_iterator.c?r1=1.7&r2=1.7.2.1&diff_format=u Index: php-src/ext/com_dotnet/com_iterator.c diff -u php-src/ext/com_dotnet/com_iterator.c:1.7 php-src/ext/com_dotnet/com_iterator.c:1.7.2.1 --- php-src/ext/com_dotnet/com_iterator.c:1.7 Mon Mar 8 21:17:39 2004 +++ php-src/ext/com_dotnet/com_iterator.c Tue Jan 24 08:54:29 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: com_iterator.c,v 1.7 2004/03/08 21:17:39 helly Exp $ */ +/* $Id: com_iterator.c,v 1.7.2.1 2006/01/24 08:54:29 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -232,7 +232,7 @@ if (I) { VariantClear(&I->safe_array); VariantClear(&I->v); - free(I); + efree(I); } return NULL; } http://cvs.php.net/viewcvs.cgi/php-src/ext/com_dotnet/com_misc.c?r1=1.7&r2=1.7.2.1&diff_format=u Index: php-src/ext/com_dotnet/com_misc.c diff -u php-src/ext/com_dotnet/com_misc.c:1.7 php-src/ext/com_dotnet/com_misc.c:1.7.2.1 --- php-src/ext/com_dotnet/com_misc.c:1.7 Sun May 9 14:28:19 2004 +++ php-src/ext/com_dotnet/com_misc.c Tue Jan 24 08:54:29 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: com_misc.c,v 1.7 2004/05/09 14:28:19 wez Exp $ */ +/* $Id: com_misc.c,v 1.7.2.1 2006/01/24 08:54:29 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -51,6 +51,7 @@ memset(obj, 0, sizeof(*obj)); obj->code_page = codepage; obj->ce = php_com_variant_class_entry; + obj->zo.ce = php_com_variant_class_entry; VariantInit(&obj->v); V_VT(&obj->v) = VT_DISPATCH; @@ -73,6 +74,7 @@ memset(obj, 0, sizeof(*obj)); obj->code_page = codepage; obj->ce = php_com_variant_class_entry; + obj->zo.ce = php_com_variant_class_entry; VariantInit(&obj->v); VariantCopyInd(&obj->v, v); http://cvs.php.net/viewcvs.cgi/php-src/ext/com_dotnet/php_com_dotnet_internal.h?r1=1.12.2.1&r2=1.12.2.2&diff_format=u Index: php-src/ext/com_dotnet/php_com_dotnet_internal.h diff -u php-src/ext/com_dotnet/php_com_dotnet_internal.h:1.12.2.1 php-src/ext/com_dotnet/php_com_dotnet_internal.h:1.12.2.2 --- php-src/ext/com_dotnet/php_com_dotnet_internal.h:1.12.2.1 Tue Apr 19 05:57:21 2005 +++ php-src/ext/com_dotnet/php_com_dotnet_internal.h Tue Jan 24 08:54:29 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_com_dotnet_internal.h,v 1.12.2.1 2005/04/19 05:57:21 wez Exp $ */ +/* $Id: php_com_dotnet_internal.h,v 1.12.2.2 2006/01/24 08:54:29 dmitry Exp $ */ #ifndef PHP_COM_DOTNET_INTERNAL_H #define PHP_COM_DOTNET_INTERNAL_H @@ -33,6 +33,8 @@ #undef php_win_err typedef struct _php_com_dotnet_object { + zend_object zo; + VARIANT v; ITypeInfo *typeinfo;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php