CEHelper::SetupCorruptionSeverityForActiveException((STState == ExceptionTracker::STS_FirstRethrowFrame), (pTracker->GetPreviousExceptionTracker() != NULL),
CEHelper::ShouldTreatActiveExceptionAsNonCorrupting());
}
+
+ // Failfast if exception indicates corrupted process state
+ if (pTracker->GetCorruptionSeverity() == ProcessCorrupting)
+ EEPOLICY_HANDLE_FATAL_ERROR(pExceptionRecord->ExceptionCode);
}
#endif // FEATURE_CORRUPTING_EXCEPTIONS
// of the active exception.
CEHelper::SetupCorruptionSeverityForActiveException(bRethrownException, bNestedException,
CEHelper::ShouldTreatActiveExceptionAsNonCorrupting());
+
+ // Failfast if exception indicates corrupted process state
+ if (pExInfo->GetCorruptionSeverity() == ProcessCorrupting)
+ EEPOLICY_HANDLE_FATAL_ERROR(exceptionCode);
+
END_SO_INTOLERANT_CODE;
}
#endif // FEATURE_CORRUPTING_EXCEPTIONS
int32 V_1)
.try
{
- ldc.i4 0xc0000005
+ ldc.i4 0xC0000017
ldc.i4.0
dup
dup
calli void (unsigned int32, unsigned int32, unsigned int32, native uint)
leave.s IL_001d
} // end .try
- catch [mscorlib]System.AccessViolationException
+ catch [mscorlib]System.OutOfMemoryException
{
IL_000f: stloc.0
IL_0010: ldloc.0