Skip to content

Commit b1943ee

Browse files
authored
Guard against chaching of dangling global parent class of module (#35150)
1 parent 65f56b8 commit b1943ee

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/coreclr/src/debug/di/module.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1993,14 +1993,17 @@ HRESULT CordbModule::CreateClass(mdTypeDef classMetaDataToken,
19931993
HRESULT hr = m_classes.AddBase(pClass);
19941994

19951995
if (SUCCEEDED(hr))
1996+
{
19961997
*ppClass = pClass;
1998+
if (classMetaDataToken == COR_GLOBAL_PARENT_TOKEN)
1999+
{
2000+
_ASSERTE( m_pClass == NULL ); //redundant create
2001+
m_pClass.Assign(pClass);
2002+
}
2003+
}
19972004
else
1998-
delete pClass;
1999-
2000-
if (classMetaDataToken == COR_GLOBAL_PARENT_TOKEN)
20012005
{
2002-
_ASSERTE( m_pClass == NULL ); //redundant create
2003-
m_pClass.Assign(pClass);
2006+
delete pClass;
20042007
}
20052008

20062009
return hr;
@@ -5331,6 +5334,3 @@ void CordbNativeCode::LoadNativeInfo()
53315334
}
53325335

53335336
} // CordbNativeCode::LoadNativeInfo
5334-
5335-
5336-

0 commit comments

Comments
 (0)