On 6/21/07, Alexandre Julliard <[EMAIL PROTECTED]> wrote:
"James Hawkins" <[EMAIL PROTECTED]> 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.

--
James Hawkins


Reply via email to