Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- dlls/kernel32/tests/security.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
diff --git a/dlls/kernel32/tests/security.c b/dlls/kernel32/tests/security.c index ef6c703406e..b8ae1474a80 100644 --- a/dlls/kernel32/tests/security.c +++ b/dlls/kernel32/tests/security.c @@ -22,6 +22,7 @@
static HMODULE hdll; static HANDLE (WINAPI *pCreateBoundaryDescriptorA)(LPCSTR,ULONG); +static HANDLE (WINAPI *pCreatePrivateNamespaceA)(LPSECURITY_ATTRIBUTES,LPVOID,LPCSTR);
static BOOL init_function_pointers(void) { @@ -30,6 +31,7 @@ static BOOL init_function_pointers(void) if (hdll) { pCreateBoundaryDescriptorA = (void *)GetProcAddress(hdll, "CreateBoundaryDescriptorA"); + pCreatePrivateNamespaceA = (void *)GetProcAddress(hdll, "CreatePrivateNamespaceA"); return TRUE; }
@@ -59,11 +61,34 @@ void test_CreateBoundaryDescriptorA(void) ok(res == NULL && (error == ERROR_FILENAME_EXCED_RANGE), "expected name to exceed MAX_PATH\n"); }
+void test_CreatePrivateNamespaceA(void) +{ + DWORD error; + HANDLE res; + CHAR buffer[MAX_PATH] = "test"; + CHAR overload[MAX_PATH + 5] = ""; + + for (int i = 0; i < (MAX_PATH + 5); i++) + overload[i] = 't'; + + res = pCreatePrivateNamespaceA(NULL, NULL, 0); + ok(res == NULL, "expected NULL pointer\n"); + + res = pCreatePrivateNamespaceA(NULL, NULL, buffer); + ok(res == NULL, "expected NULL pointer\n"); + + SetLastError(0xdeadbeef); + res = pCreatePrivateNamespaceA(NULL, NULL, overload); + error = GetLastError(); + ok(res == NULL && (error == ERROR_FILENAME_EXCED_RANGE), "expected prefix to exceed MAX_PATH\n"); +} + START_TEST(security) { if (init_function_pointers()) { test_CreateBoundaryDescriptorA(); + test_CreatePrivateNamespaceA(); FreeLibrary(hdll); } else
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=109025
Your paranoid android.
=== w7u_2qxl (32 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w7u_adm (32 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w7u_el (32 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w8 (32 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w8adm (32 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w864 (32 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w1064v1507 (32 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w1064v1809 (32 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w1064 (32 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w1064_tsign (32 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w10pro64 (32 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w864 (64 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w1064v1507 (64 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w1064v1809 (64 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w1064 (64 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w1064_2qxl (64 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w1064_tsign (64 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w10pro64 (64 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w10pro64_ar (64 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w10pro64_he (64 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w10pro64_ja (64 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH
=== w10pro64_zh_CN (64 bit report) ===
kernel32: security.c:61: Test failed: expected name to exceed MAX_PATH security.c:83: Test failed: expected prefix to exceed MAX_PATH