[KMTESTS:IO] Fix a Clang-Cl warning about NameLength

"warning: variable 'NameLength' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]"

CORE-14306
This commit is contained in:
Serge Gautherie 2018-02-18 14:06:23 +01:00 committed by Thomas Faber
parent 0cc3f19b80
commit 45aa179386
No known key found for this signature in database
GPG key ID: 076E7C3D44720826

View file

@ -27,12 +27,13 @@ QueryFileInfo(
Buffer = KmtAllocateGuarded(*Length);
if (skip(Buffer != NULL, "Failed to allocate %Iu bytes\n", *Length))
return STATUS_INSUFFICIENT_RESOURCES;
RtlFillMemory(Buffer, *Length, 0xdd);
}
else
{
Buffer = NULL;
}
RtlFillMemory(Buffer, *Length, 0xDD);
RtlFillMemory(&IoStatus, sizeof(IoStatus), 0x55);
_SEH2_TRY
{
@ -55,8 +56,16 @@ QueryFileInfo(
ok_eq_hex(Status, STATUS_SUCCESS);
Status = IoStatus.Status;
}
*Length = IoStatus.Information;
if (NT_SUCCESS(Status))
{
*Info = Buffer;
}
else if (Buffer)
{
KmtFreeGuarded(Buffer);
}
return Status;
}
@ -140,8 +149,11 @@ TestAllInformation(VOID)
Length = FIELD_OFFSET(FILE_ALL_INFORMATION, NameInformation.FileName) + MAX_PATH * sizeof(WCHAR);
Status = QueryFileInfo(FileHandle, (PVOID*)&FileAllInfo, &Length, FileAllInformation);
ok_eq_hex(Status, STATUS_SUCCESS);
if (!skip(NT_SUCCESS(Status) && FileAllInfo != NULL, "No info\n"))
if (skip(NT_SUCCESS(Status) && FileAllInfo != NULL, "No info\n"))
{
goto NoInfo;
}
NameLength = FileAllInfo->NameInformation.FileNameLength;
ok_eq_size(Length, FIELD_OFFSET(FILE_ALL_INFORMATION, NameInformation.FileName) + NameLength);
Name = ExAllocatePoolWithTag(PagedPool, NameLength + sizeof(UNICODE_NULL), 'sFmK');
@ -166,7 +178,6 @@ TestAllInformation(VOID)
ok(FileAllInfo->NameInformation.FileName[NameLength / sizeof(WCHAR)] == 0xdddd,
"Char past FileName is %x\n",
FileAllInfo->NameInformation.FileName[NameLength / sizeof(WCHAR)]);
}
if (FileAllInfo)
KmtFreeGuarded(FileAllInfo);
@ -210,6 +221,7 @@ TestAllInformation(VOID)
if (FileAllInfo)
KmtFreeGuarded(FileAllInfo);
NoInfo:
Status = ObCloseHandle(FileHandle, KernelMode);
ok_eq_hex(Status, STATUS_SUCCESS);
}