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