ReactOS regression inrpcrt4

Zebediah Figura z.figura12 at gmail.com
Mon Aug 31 12:25:04 CDT 2020


Hello Fabian,

On 8/31/20 11:59 AM, Fabian Maurer wrote:
> Hello Zebediah,
> 
> starting with commit https://github.com/wine-mirror/wine/commit/9271efc0c746
> there's a lot of log spam in ReactOS:
> "RpcBindingFree returned 0x6a6"
> So far I couldn't reproduce the error in Wine though.
> 
> I'm attaching a proposed patch that fixes the issue. Could you please take a
> look on whether the attached patch would be suitable for inclusion into Wine,
> or whether that problem points to another underlying issue?

I don't think the patch is correct as given. I'm not very knowledgeable
in binding handles, but as far as I'm aware they are allowed to be NULL.
Working from -Os output, for the following IDL:

[
    uuid(deadbeef-0000-0000-0000-000000000000),
    version(1.0),
]
interface test
{
    struct apple
    {
        int i;
    };

    typedef [handle] struct apple * apple_handle;

    void a([unique] apple_handle binding);
}

MIDL generates the following (trimmed) output:

void a(
    /* [unique] */ apple_handle binding)
{

    RPC_BINDING_HANDLE _Handle	=	0;
    /* ... */

    RpcTryFinally
        {
        /* ... */

        _Handle = apple_handle_bind(binding);;

        if(( _Handle == 0 ) )
            {
            RpcRaiseException(RPC_S_INVALID_BINDING);
            }
        /* ... */

        }
    RpcFinally
        {
        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );


        if(_Handle)
            {
            apple_handle_unbind(binding,_Handle);
            }
        }
    RpcEndFinally
}

We're missing a NULL check for "_Handle" (i.e. "hbinding" in our code),
but there's no check for "binding".

Is there actually a bug, or just added console output?

> 
> Regards,
> Fabian Maurer
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20200831/5ad07a01/attachment.sig>


More information about the wine-devel mailing list