On 6/21/07, Alexandre Julliard julliard@winehq.org wrote:
"James Hawkins" truiken@gmail.com writes:
@@ -215,18 +282,28 @@ UINT WINAPI MsiCloseHandle(MSIHANDLE han
EnterCriticalSection( &MSI_handle_cs );
- info = msihandle2msiinfo(handle, 0);
- if( !info )
goto out;
- if( info->magic != MSIHANDLE_MAGIC )
- unk = msi_get_remote( handle );
- if (unk)
IUnknown_Release( unk );
- else {
It seems to me you are leaking the object here, the handle entry holds a ref to it too.
The handle entry only holds a ref to the object if it's a regular handle, and not remote. I'm resending tomorrow, because there was a missing check in alloc_handle_table_entry.