From 5fa0c36c8f553d3a7ec1941e7c17286318ab9e43 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Tue, 13 Sep 2016 00:14:35 -0700 Subject: [PATCH] dll: relative symbolic link resolution testing --- tst/winfsp-tests/reparse-test.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tst/winfsp-tests/reparse-test.c b/tst/winfsp-tests/reparse-test.c index 37f9553c..3dac2f29 100644 --- a/tst/winfsp-tests/reparse-test.c +++ b/tst/winfsp-tests/reparse-test.c @@ -428,10 +428,22 @@ static BOOL my_namecheck_fn(ULONG Flags, PWSTR Prefix, void *memfs, PWSTR FileNa #define my_namecheck(FileName, Expected)ASSERT(my_namecheck_fn(Flags, Prefix, memfs, FileName, Expected)) #define my_failcheck(FileName) ASSERT(!my_namecheck_fn(Flags, Prefix, memfs, FileName, L"")) +#define my_symlink_noassert(LinkName, FileName)\ + my_symlink_fn(Flags, Prefix, memfs, LinkName, FileName, 0) + static void reparse_symlink_relative_dotest(ULONG Flags, PWSTR Prefix, ULONG FileInfoTimeout) { void *memfs = memfs_start_ex(Flags, FileInfoTimeout); + if (my_symlink_noassert(L"\\l0", L"NON-EXISTANT")) + my_unlink(L"\\l0"); + else + { + ASSERT(ERROR_PRIVILEGE_NOT_HELD == GetLastError()); + FspDebugLog(__FUNCTION__ ": need SE_CREATE_SYMBOLIC_LINK_PRIVILEGE\n"); + return; + } + my_mkdir(L"\\1"); my_mkdir(L"\\1\\1.1"); my_make(L"\\1\\1.2");