[NTOS:SE]
authorThomas Faber <thomas.faber@reactos.org>
Wed, 2 Sep 2015 09:19:52 +0000 (09:19 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Wed, 2 Sep 2015 09:19:52 +0000 (09:19 +0000)
- Correctly check ACE type in SeFastTraverseCheck. CID 1102005

svn path=/trunk/; revision=68911

reactos/ntoskrnl/se/accesschk.c

index f2288ae..5928859 100644 (file)
@@ -493,7 +493,7 @@ SeFastTraverseCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
             continue;
 
         /* If access-allowed ACE */
-        if (Ace->Header.AceType & ACCESS_ALLOWED_ACE_TYPE)
+        if (Ace->Header.AceType == ACCESS_ALLOWED_ACE_TYPE)
         {
             /* Check if all accesses are granted */
             if (!(Ace->Mask & DesiredAccess))
@@ -504,9 +504,9 @@ SeFastTraverseCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
                 return TRUE;
         }
         /* If access-denied ACE */
-        else if (Ace->Header.AceType & ACCESS_DENIED_ACE_TYPE)
+        else if (Ace->Header.AceType == ACCESS_DENIED_ACE_TYPE)
         {
-            /* Here, only check if it denies all the access wanted and deny if so */
+            /* Here, only check if it denies any access wanted and deny if so */
             if (Ace->Mask & DesiredAccess)
                 return FALSE;
         }