[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: Re: ReactOS regression inrpcrt4
From: Zebediah Figura <z.figura12 () gmail ! com>
Date: 2020-08-31 17:25:04
Message-ID: df18de31-0b55-7ba6-95f6-08afd09a1504 () gmail ! com
[Download RAW message or body]
[Attachment #2 (multipart/mixed)]
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
>
["signature.asc" (application/pgp-signature)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic