Remove a hack from NtAccessCheck(). Bug #4169.

svn path=/trunk/; revision=41610
This commit is contained in:
Dmitry Gorbachev 2009-06-25 13:29:58 +00:00
parent d53c35b02b
commit ff37974bba

View file

@ -688,9 +688,8 @@ NtAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
SubjectSecurityContext.ProcessAuditId = NULL; SubjectSecurityContext.ProcessAuditId = NULL;
SeLockSubjectContext(&SubjectSecurityContext); SeLockSubjectContext(&SubjectSecurityContext);
/* FIXME */
/* Now perform the access check */ /* Now perform the access check */
if (SeAccessCheck(SecurityDescriptor, SeAccessCheck(SecurityDescriptor,
&SubjectSecurityContext, &SubjectSecurityContext,
TRUE, TRUE,
DesiredAccess, DesiredAccess,
@ -699,21 +698,14 @@ NtAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
GenericMapping, GenericMapping,
PreviousMode, PreviousMode,
GrantedAccess, GrantedAccess,
AccessStatus)) AccessStatus);
{
Status = *AccessStatus;
}
else
{
Status = STATUS_ACCESS_DENIED;
}
/* Unlock subject context and dereference the token */ /* Unlock subject context and dereference the token */
SeUnlockSubjectContext(&SubjectSecurityContext); SeUnlockSubjectContext(&SubjectSecurityContext);
ObDereferenceObject(Token); ObDereferenceObject(Token);
/* Check succeeded? */ /* Check succeeded */
return Status; return STATUS_SUCCESS;
} }