summaryrefslogtreecommitdiff
path: root/src/vm/ceeload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/ceeload.cpp')
-rw-r--r--src/vm/ceeload.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/vm/ceeload.cpp b/src/vm/ceeload.cpp
index 5de7114eb1..6a1eb62959 100644
--- a/src/vm/ceeload.cpp
+++ b/src/vm/ceeload.cpp
@@ -9550,7 +9550,7 @@ void Module::Arrange(DataImage *image)
else if (TypeFromToken(token) == mdtFieldDef)
{
FieldDesc *pFD = LookupFieldDef(token);
- if (pFD && pFD->IsILOnlyRVAField())
+ if (pFD && pFD->IsRVA())
{
if (entry->flags & (1 << RVAFieldData))
{
@@ -12770,6 +12770,11 @@ void Module::LogTokenAccess(mdToken token, SectionFormat format, ULONG flagnum)
if (!m_nativeImageProfiling)
return;
+ if (flagnum >= CORBBTPROF_TOKEN_MAX_NUM_FLAGS)
+ {
+ return;
+ }
+
mdToken rid = RidFromToken(token);
CorTokenType tkType = (CorTokenType) TypeFromToken(token);
SectionFormat tkKind = (SectionFormat) (tkType >> 24);
@@ -12798,8 +12803,9 @@ void Module::LogTokenAccess(mdToken token, SectionFormat format, ULONG flagnum)
else if (tkKind == (SectionFormat) (ibcMethodSpec >> 24))
tkKind = IbcMethodSpecSection;
+ _ASSERTE(tkKind >= 0);
_ASSERTE(tkKind < SectionFormatCount);
- if (tkKind >= SectionFormatCount)
+ if (tkKind < 0 || tkKind >= SectionFormatCount)
{
return;
}