On 15.02.2016 21:52, Qian Hong wrote:
Signed-off-by: Qian Hong qhong@codeweavers.com
dlls/advapi32/tests/security.c | 53 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+)
0001-advapi32-tests-Add-invalid-paramater-tests-for-AccessC.txt
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c index 742ede1..69c0f77 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c @@ -1411,6 +1411,59 @@ static void test_AccessCheck(void) GetLastError()); trace("AccessCheck with MAXIMUM_ALLOWED got Access 0x%08x\n", Access);
- /* Null PrivSet with null PrivSetLen pointer */
- SetLastError(0xdeadbeef);
- Access = AccessStatus = 0x1abe11ed;
- ret = AccessCheck(SecurityDescriptor, Token, KEY_READ, &Mapping,
NULL, NULL, &Access, &AccessStatus);
- err = GetLastError();
- ok(!ret && err == ERROR_NOACCESS, "AccessCheck should have "
"failed with ERROR_NOACCESS, instead of %d\n", err);
- ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed,
"Access and/or AccessStatus were changed!\n");
- /* Null PrivSet with zero PrivSetLen */
- SetLastError(0xdeadbeef);
- Access = AccessStatus = 0x1abe11ed;
- PrivSetLen = 0;
- ret = AccessCheck(SecurityDescriptor, Token, KEY_READ, &Mapping,
0, &PrivSetLen, &Access, &AccessStatus);
- err = GetLastError();
+todo_wine
- ok(!ret && err == ERROR_INSUFFICIENT_BUFFER, "AccessCheck should have "
"failed with ERROR_INSUFFICIENT_BUFFER, instead of %d\n", err);
+todo_wine
- ok(PrivSetLen == sizeof(PRIVILEGE_SET), "PrivSetLen returns %d, expects %d\n", PrivSetLen, sizeof(PRIVILEGE_SET));
This will lead to compile warnings on 64-bit.
- ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed,
"Access and/or AccessStatus were changed!\n");
- /* Valid PrivSet with zero PrivSetLen */
- SetLastError(0xdeadbeef);
- Access = AccessStatus = 0x1abe11ed;
- PrivSetLen = 0;
- ret = AccessCheck(SecurityDescriptor, Token, KEY_READ, &Mapping,
PrivSet, &PrivSetLen, &Access, &AccessStatus);
- err = GetLastError();
+todo_wine
- ok(!ret && err == ERROR_INSUFFICIENT_BUFFER, "AccessCheck should have "
"failed with ERROR_INSUFFICIENT_BUFFER, instead of %d\n", err);
+todo_wine
- ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed,
"Access and/or AccessStatus were changed!\n");
- PrivSetLen = FIELD_OFFSET(PRIVILEGE_SET, Privilege[16]);
- /* Null PrivSet with valid PrivSetLen */
- SetLastError(0xdeadbeef);
- Access = AccessStatus = 0x1abe11ed;
- ret = AccessCheck(SecurityDescriptor, Token, KEY_READ, &Mapping,
0, &PrivSetLen, &Access, &AccessStatus);
- err = GetLastError();
- ok(!ret && err == ERROR_NOACCESS, "AccessCheck should have "
"failed with ERROR_NOACCESS, instead of %d\n", err);
- ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed,
"Access and/or AccessStatus were changed!\n");
- /* Access denied by SD */ SetLastError(0xdeadbeef); Access = AccessStatus = 0x1abe11ed;