tst: winfsp-tests: WIP

This commit is contained in:
Bill Zissimopoulos
2016-10-26 13:16:27 -07:00
parent 17056b4f3f
commit ff7a446194
2 changed files with 66 additions and 68 deletions

View File

@ -215,16 +215,23 @@ void getfileinfo_name_dotest(ULONG Flags, PWSTR Prefix, ULONG FileInfoTimeout)
else
ASSERT(0 == wcscmp(OrigPath, FinalPath)); /* don't use mywcscmp */
Result = GetFinalPathNameByHandleW(
Handle, FinalPath, MAX_PATH - 1, VOLUME_NAME_NONE | FILE_NAME_NORMALIZED);
ASSERT(0 != Result && Result < MAX_PATH);
if (OptSharePrefixLength)
if (!OptNoTraverseToken || -1 != Flags)
{
memmove(FinalPath,
FinalPath + OptSharePrefixLength / sizeof(WCHAR),
(wcslen(FinalPath) + 1) * sizeof(WCHAR) - OptSharePrefixLength);
/*
* FILE_NAME_NORMALIZED fails without Traverse privilege on NTFS.
* FILE_NAME_OPENED succeeds. Go figure!
*/
Result = GetFinalPathNameByHandleW(
Handle, FinalPath, MAX_PATH - 1, VOLUME_NAME_NONE | FILE_NAME_NORMALIZED);
ASSERT(0 != Result && Result < MAX_PATH);
if (OptSharePrefixLength)
{
memmove(FinalPath,
FinalPath + OptSharePrefixLength / sizeof(WCHAR),
(wcslen(FinalPath) + 1) * sizeof(WCHAR) - OptSharePrefixLength);
}
ASSERT(0 == wcscmp(OrigPath, FinalPath)); /* don't use mywcscmp */
}
ASSERT(0 == wcscmp(OrigPath, FinalPath)); /* don't use mywcscmp */
CloseHandle(Handle);