VfIrpDatabaseCheckExFreePool
VOID __stdcall VfIrpDatabaseCheckExFreePool(PVOID P){
_QWORD *Pointer;
UINT64 v3;
UINT8 OldIrql;
OldIrql = 0;
if( VfIrpDatabaseInitialized )
{
if( VfUtilAddressRangeFitNoLock(
(__m128i *)(ViIrpDatabaseAddressRanges + 16i64 * (unsigned __int8)(-125 * ((unsigned __int64)P >> 12))),
(UINT64)P,
(ULONG64)P + 1) )
{
ViIrpDatabaseAcquireLockShared(&OldIrql);
Pointer = ViIrpDatabaseFindPointer((unsigned __int64)P);
ViIrpDatabaseReleaseLockShared(OldIrql);
if( Pointer )
{
if( (MmVerifierData & 0x10) != 0 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x105ui64, (UINT64)P, 0i64, 0i64, v3);
}
}
}
}Referenced by:
VerifierExFreePool
VerifierExFreePoolWithTag