mirror of
https://github.com/reactos/reactos.git
synced 2024-06-29 01:12:06 +00:00
Mask values that control inheritability of the handle, and don't affect access.
svn path=/trunk/; revision=28973
This commit is contained in:
parent
1f2057ff37
commit
4c33a58449
|
@ -1035,7 +1035,8 @@ SeAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
|||
AccessMode))
|
||||
{
|
||||
CurrentAccess |= WRITE_OWNER;
|
||||
if (DesiredAccess == CurrentAccess)
|
||||
if ((DesiredAccess & ~VALID_INHERIT_FLAGS) ==
|
||||
(CurrentAccess & ~VALID_INHERIT_FLAGS))
|
||||
{
|
||||
if (SubjectContextLocked == FALSE)
|
||||
{
|
||||
|
@ -1067,7 +1068,8 @@ SeAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
|||
if (Sid && SepSidInToken(Token, Sid))
|
||||
{
|
||||
CurrentAccess |= (READ_CONTROL | WRITE_DAC);
|
||||
if (DesiredAccess == CurrentAccess)
|
||||
if ((DesiredAccess & ~VALID_INHERIT_FLAGS) ==
|
||||
(CurrentAccess & ~VALID_INHERIT_FLAGS))
|
||||
{
|
||||
if (SubjectContextLocked == FALSE)
|
||||
{
|
||||
|
@ -1145,7 +1147,8 @@ SeAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
|||
*AccessStatus = STATUS_SUCCESS;
|
||||
return TRUE;
|
||||
}
|
||||
else if (*GrantedAccess == DesiredAccess)
|
||||
else if ((*GrantedAccess & ~VALID_INHERIT_FLAGS) ==
|
||||
(DesiredAccess & ~VALID_INHERIT_FLAGS))
|
||||
{
|
||||
*AccessStatus = STATUS_SUCCESS;
|
||||
return TRUE;
|
||||
|
|
Loading…
Reference in a new issue