Call SetLastError() in ParseStringAclToAcl() to correct Conformance Test failure

Paul Bryan Roberts pbronline-wine at yahoo.co.uk
Wed Sep 24 01:19:49 CDT 2008


 From 2f6d33f2d66e252bbd6ad3bc0f3e93a1fb780485 Mon Sep 17 00:00:00 2001
From: Paul Bryan Roberts <pbronline-wine at yahoo.co.uk>
Date: Wed, 24 Sep 2008 06:57:33 +0100
Subject: Call SetLastError() in ParseStringAclToAcl() to correct 
Conformance Test failure

---
 dlls/advapi32/security.c       |    7 ++++++-
 dlls/advapi32/tests/security.c |    1 -
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index ef9ce6e..83bb08e 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -3735,7 +3735,11 @@ static BOOL ParseStringAclToAcl(LPCWSTR 
StringAcl, LPDWORD lpdwFlags,
     TRACE("%s\n", debugstr_w(StringAcl));

     if (!StringAcl)
-       return FALSE;
+    {
+        SetLastError(ERROR_INVALID_PARAMETER);
+        TRACE("StringAcl is NULL, returning FALSE\n");
+        return FALSE;
+    }

     if (pAcl) /* pAce is only useful if we're setting values */
         pAce = (PACCESS_ALLOWED_ACE) (pAcl + 1);
@@ -3828,6 +3832,7 @@ static BOOL ParseStringAclToAcl(LPCWSTR StringAcl, 
LPDWORD lpdwFlags,
     return TRUE;

 lerr:
+    SetLastError(ERROR_INVALID_ACL);
     WARN("Invalid ACE string format\n");
     return FALSE;
 }
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index 99dbce8..7acfa69 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -2255,7 +2255,6 @@ static void test_ConvertStringSecurityDescriptor(void)
     SetLastError(0xdeadbeef);
     ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(A;;ROB;;;WD)", SDDL_REVISION_1, &pSD, NULL);
-    todo_wine
     ok(!ret && GetLastError() == ERROR_INVALID_ACL,
         "ConvertStringSecurityDescriptorToSecurityDescriptor should 
have failed with ERROR_INVALID_ACL instead of %d\n",
         GetLastError());
--
1.5.4.3




More information about the wine-patches mailing list