ViValidateTriageRules
UINT64 __stdcall ViValidateTriageRules(_VERIFIER_TRIAGE_RULE *Rules, UINT64 RulesSize){
_VERIFIER_TRIAGE_RULE *v2;
unsigned __int64 bf_0;
v2 = (_VERIFIER_TRIAGE_RULE *)((char *)Rules + RulesSize);
if( Rules >= (_VERIFIER_TRIAGE_RULE *)((char *)Rules + RulesSize) )
{
LABEL_5:
DbgPrintEx(0x5Du, 3u, "CRASH TRIAGE: rules are ok.\n");
}
else
{
while( 1 )
{
bf_0 = (unsigned int)Rules->_bf_0;
if( (bf_0 & 0x70000) == 0 )
break;
Rules = (_VERIFIER_TRIAGE_RULE *)((char *)Rules + (bf_0 >> 19) + 8);
if( Rules > v2 )
{
DbgPrintEx(0x5Du, 3u, "CRASH TRIAGE: invalid rules structure! \n");
return 0i64;
}
if( Rules >= v2 )
goto LABEL_5;
}
DbgPrintEx(0x5Du, 3u, "CRASH TRIAGE: found zeroed rule during validation.\n");
}
return 1i64;
}Referenced by:
VfTriageSystem