From 5437e77c621b886a7414f367a79980b92cb03481 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Wed, 15 Jul 2026 14:50:36 +0300 Subject: [PATCH] [APPHELP_APITEST] Add test for NT path prefix used in pSdbGetFileAttributes --- modules/rostests/apitests/apphelp/apphelp.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/modules/rostests/apitests/apphelp/apphelp.c b/modules/rostests/apitests/apphelp/apphelp.c index 9c66537c65c..2f9e3bb15c3 100644 --- a/modules/rostests/apitests/apphelp/apphelp.c +++ b/modules/rostests/apitests/apphelp/apphelp.c @@ -867,6 +867,24 @@ static void test_crc_imp(size_t len, DWORD expected) } if (ret) pSdbFreeFileAttributes(pattrinfo); + + /* Test with a fake NT path */ + WCHAR prefixed_path[MAX_PATH]; + wcscpy(prefixed_path, L"\\??\\"); + wcscat(prefixed_path, path); + ret = pSdbGetFileAttributes(prefixed_path, &pattrinfo, &num); + winetest_ok(ret == FALSE, "expected SdbGetFileAttributes to fail.\n"); + if (ret) + pSdbFreeFileAttributes(pattrinfo); + + /* Test with a full NT path */ + GetCurrentDirectoryW(ARRAYSIZE(prefixed_path) - 4, prefixed_path + 4); + wcscat(prefixed_path, L"\\"); + wcscat(prefixed_path, path); + ret = pSdbGetFileAttributes(prefixed_path, &pattrinfo, &num); + winetest_ok(ret != FALSE || broken(ret == FALSE) /* 2k3/Vista */, "expected SdbGetFileAttributes to succeed.\n"); + if (ret) + pSdbFreeFileAttributes(pattrinfo); } static void test_crc2_imp(DWORD len, int fill, DWORD expected)