ViRtlReplaceStringBuffer
VOID __fastcall ViRtlReplaceStringBuffer(_UNICODE_STRING *s, INT64 *Status, VOID *CallerAddress){
unsigned int MaximumLength;
UINT8 *PoolWithTagPriority;
wchar_t *v7;
if( (MmVerifierData & 9) != 0 && s->MaximumLength )
{
MaximumLength = s->MaximumLength;
PoolWithTagPriority = (UINT8 *)VeAllocatePoolWithTagPriority(
(_POOL_TYPE)129,
s->MaximumLength,
0x72745356ui64,
HighPoolPriority,
CallerAddress);
v7 = (wchar_t *)PoolWithTagPriority;
if( PoolWithTagPriority )
memmove(PoolWithTagPriority, (UINT8 *)s->Buffer, MaximumLength);
else
*(_DWORD *)Status = -1073741801;
ExFreePoolWithTag(s->Buffer, 0);
s->Buffer = v7;
}
}Referenced by:
VerifierRtlAnsiStringToUnicodeString
VerifierRtlCreateUnicodeString
VerifierRtlDowncaseUnicodeString
VerifierRtlDuplicateUnicodeString
VerifierRtlOemStringToCountedUnicodeString
VerifierRtlOemStringToUnicodeString
VerifierRtlUnicodeStringToAnsiString
VerifierRtlUnicodeStringToCountedOemString
VerifierRtlUnicodeStringToOemString
VerifierRtlUpcaseUnicodeString
VerifierRtlUpcaseUnicodeStringToAnsiString
VerifierRtlUpcaseUnicodeStringToCountedOemString
VerifierRtlUpcaseUnicodeStringToOemString