ViZwCheckUnicodeString
VOID __stdcall ViZwCheckUnicodeString(UNICODE_STRING *String, PVOID Caller){
wchar_t *Buffer;
__int64 Length;
unsigned __int16 MaximumLength;
UINT64 v7;
if( String )
{
ViZwCheckVirtualAddress((UINT64)String, Caller);
Buffer = String->Buffer;
ViZwCheckVirtualAddress((UINT64)Buffer, Caller);
Length = String->Length;
if( (MmVerifierData & 0x100) != 0 )
{
if( (wchar_t *)((char *)Buffer + Length) < Buffer
|| (MaximumLength = String->MaximumLength, MaximumLength < (unsigned __int16)Length)
|| (((unsigned __int16)Length | MaximumLength) & 1) != 0 )
{
VerifierBugCheckIfAppropriate(0xC4ui64, 0xE4ui64, (UINT64)Caller, (UINT64)String, 0i64, v7);
}
}
}
}Referenced by:
VfZwAccessCheckAndAuditAlarm
VfZwAlpcConnectPort
VfZwCloseObjectAuditAlarm
VfZwConnectPort
VfZwCreateKey
VfZwCreateSymbolicLinkObject
VfZwCreateTransaction
VfZwCreateTransactionManager
VfZwDeleteValueKey
VfZwDisplayString
VfZwLoadDriver
VfZwOpenTransactionManager
VfZwQueryDirectoryFile
VfZwQueryLicenseValue
VfZwQuerySymbolicLinkObject
VfZwQueryValueKey
VfZwSetValueKey
VfZwUnloadDriver
ViZwCheckObjectAttributes