if (AnsiString->Buffer)
{
RtlpFreeStringMemory(AnsiString->Buffer, TAG_ASTR);
+ RtlZeroMemory(AnsiString, sizeof(ANSI_STRING));
}
}
{
PAGED_CODE_RTL();
- if (OemString->Buffer)
- {
- RtlpFreeStringMemory(OemString->Buffer, TAG_OSTR);
- }
+ if (OemString->Buffer) RtlpFreeStringMemory(OemString->Buffer, TAG_OSTR);
}
/*
if (UnicodeString->Buffer)
{
RtlpFreeStringMemory(UnicodeString->Buffer, TAG_ASTR);
+ RtlZeroMemory(UnicodeString, sizeof(UNICODE_STRING));
}
}
if(SourceString)
{
DestSize = wcslen(SourceString) * sizeof(WCHAR);
- if (DestSize > 0xFFFE) return STATUS_NAME_TOO_LONG;
+ if (DestSize >= 0xFFFC) return STATUS_NAME_TOO_LONG;
DestinationString->Length = (USHORT)DestSize;
DestinationString->MaximumLength = (USHORT)DestSize + sizeof(WCHAR);
}
PAGED_CODE_RTL();
Length = (wcslen(Source) + 1) * sizeof(WCHAR);
- if (Length > 0xFFFE) return FALSE;
-
UniDest->Buffer = RtlpAllocateStringMemory(Length, TAG_USTR);
if (UniDest->Buffer == NULL) return FALSE;