Commit 9ed47775 authored by Huw Davies's avatar Huw Davies Committed by Alexandre Julliard

oleaut32: Clear any existing interface before calling WdtpInterfacePointer_UserUnmarshal().

The code has already called VariantClear() which has released the interface yet not set it to NULL. This is to prevent a double-release after a forthcoming patch to WdtpInterfacePointer_UserUnmarshal(). Signed-off-by: 's avatarHuw Davies <huw@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent c820139b
...@@ -349,11 +349,12 @@ static unsigned char *interface_variant_unmarshal(ULONG *pFlags, unsigned char * ...@@ -349,11 +349,12 @@ static unsigned char *interface_variant_unmarshal(ULONG *pFlags, unsigned char *
ptr = *(DWORD*)Buffer; ptr = *(DWORD*)Buffer;
Buffer += sizeof(DWORD); Buffer += sizeof(DWORD);
/* Clear any existing interface which WdtpInterfacePointer_UserUnmarshal()
would try to release. This has been done already with a VariantClear(). */
*ppunk = NULL;
if(!ptr) if(!ptr)
{
*ppunk = NULL;
return Buffer; return Buffer;
}
return WdtpInterfacePointer_UserUnmarshal(pFlags, Buffer, ppunk, riid); return WdtpInterfacePointer_UserUnmarshal(pFlags, Buffer, ppunk, riid);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment