Mikolaj Zalewski : advapi32: In ConvertStringSecurityDescriptorToSecurityDescriptor "AU" should be checked before "A" (with testcase).

Alexandre Julliard julliard at winehq.org
Fri Sep 28 06:45:58 CDT 2007


Module: wine
Branch: master
Commit: 0590dc9b5c096c66996692888063ae5f7784159b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0590dc9b5c096c66996692888063ae5f7784159b

Author: Mikolaj Zalewski <mikolajz at google.com>
Date:   Thu Sep 27 11:55:11 2007 -0700

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 deletions(-)

diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index ac189de..5b2f7dd 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 15fc86e..9c98f09 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);




More information about the wine-cvs mailing list