From 0590dc9b5c096c66996692888063ae5f7784159b Mon Sep 17 00:00:00 2001 From: Mikolaj Zalewski Date: Thu, 27 Sep 2007 11:55:11 -0700 Subject: [PATCH] advapi32: In ConvertStringSecurityDescriptorToSecurityDescriptor "AU" should be checked before "A" (with testcase). --- dlls/advapi32/security.c | 2 +- dlls/advapi32/tests/security.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c index ac189de490b..5b2f7dde7a0 100644 --- a/dlls/advapi32/security.c +++ b/dlls/advapi32/security.c @@ -3070,9 +3070,9 @@ static DWORD ParseAclStringFlags(LPCWSTR* StringAcl) */ static const ACEFLAG AceType[] = { - { SDDL_ACCESS_ALLOWED, ACCESS_ALLOWED_ACE_TYPE }, { SDDL_ALARM, SYSTEM_ALARM_ACE_TYPE }, { SDDL_AUDIT, SYSTEM_AUDIT_ACE_TYPE }, + { SDDL_ACCESS_ALLOWED, ACCESS_ALLOWED_ACE_TYPE }, { SDDL_ACCESS_DENIED, ACCESS_DENIED_ACE_TYPE }, /* { SDDL_OBJECT_ACCESS_ALLOWED, ACCESS_ALLOWED_OBJECT_ACE_TYPE }, diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c index 15fc86e79af..9c98f098784 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c @@ -1922,6 +1922,11 @@ static void test_ConvertStringSecurityDescriptor(void) "D:(A;;0xFFFFFFFF;;;WD)", SDDL_REVISION_1, &pSD, NULL); ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError()); LocalFree(pSD); + SetLastError(0xdeadbeef); + ret = pConvertStringSecurityDescriptorToSecurityDescriptorA( + "S:(AU;;0xFFFFFFFF;;;WD)", SDDL_REVISION_1, &pSD, NULL); + ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError()); + LocalFree(pSD); /* test ACE string access right error case */ SetLastError(0xdeadbeef);