diff options
Diffstat (limited to 'src/vm/ceeload.cpp')
-rw-r--r-- | src/vm/ceeload.cpp | 10 |
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; } |