Skip to content

Commit e21363d

Browse files
added sanity check in GetFuncDesc when merging flags from the alternative ITypeInfo
1 parent b9df204 commit e21363d

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

Rubberduck.VBEEditor/ComManagement/TypeLibs/TypeInfoWrapper.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,16 @@ public override int GetFuncDesc(int index, IntPtr ppFuncDesc)
372372
if (!ComHelper.HRESULT_FAILED(hr2))
373373
{
374374
var funcDescAlternate = funcDescAlternatePtr.Value.Value; // dereference the ptr, then the content
375-
funcDesc.wFuncFlags = funcDescAlternate.wFuncFlags;
375+
376+
//sanity check
377+
if (funcDescAlternate.memid == funcDesc.memid)
378+
{
379+
funcDesc.wFuncFlags = funcDescAlternate.wFuncFlags;
380+
}
381+
else
382+
{
383+
// FIXME log
384+
}
376385
_target_ITypeInfoAlternate.ReleaseFuncDesc(funcDescAlternatePtr.Value.Address);
377386

378387
Marshal.StructureToPtr(funcDesc, pFuncDesc, false);

0 commit comments

Comments
 (0)