msi [1/6]: Add support for remote handles

James Hawkins truiken at gmail.com
Mon Jun 25 18:25:25 CDT 2007


On 6/21/07, Alexandre Julliard <julliard at winehq.org> wrote:
> "James Hawkins" <truiken at 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.

-- 
James Hawkins



More information about the wine-devel mailing list