rpcrt4: Fix use after free in get_iface_info.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2020-03-26 20:54:05 +01:00 committed by Alexandre Julliard
parent be4b345908
commit bfab009e67
1 changed files with 9 additions and 9 deletions

View File

@ -1276,18 +1276,18 @@ static HRESULT get_iface_info(ITypeInfo *typeinfo, WORD *funcs, WORD *parentfunc
if (FAILED(hr)) if (FAILED(hr))
goto err; goto err;
hr = ITypeInfo_GetRefTypeInfo(*real_typeinfo, reftype, &parentinfo); hr = ITypeInfo_GetRefTypeInfo(*real_typeinfo, reftype, &parentinfo);
if (SUCCEEDED(hr))
{
hr = ITypeInfo_GetTypeAttr(parentinfo, &typeattr);
ITypeInfo_Release(parentinfo);
}
if (FAILED(hr)) if (FAILED(hr))
goto err; goto err;
*parentiid = typeattr->guid; hr = ITypeInfo_GetTypeAttr(parentinfo, &typeattr);
ITypeInfo_ReleaseTypeAttr(parentinfo, typeattr); if (SUCCEEDED(hr))
{
return S_OK; *parentiid = typeattr->guid;
ITypeInfo_ReleaseTypeAttr(parentinfo, typeattr);
}
ITypeInfo_Release(parentinfo);
if (SUCCEEDED(hr))
return hr;
err: err:
ITypeInfo_Release(*real_typeinfo); ITypeInfo_Release(*real_typeinfo);