- SeAccessCheck should assume failure if no SD was passed. Also fixes bugcheck on startup since processes don't currently have SDs.

svn path=/trunk/; revision=23235
This commit is contained in:
Alex Ionescu 2006-07-23 07:24:20 +00:00
parent a818a86bf9
commit a92eec4397
2 changed files with 9 additions and 0 deletions

View file

@ -263,6 +263,7 @@ PspSetPrimaryToken(IN PEPROCESS Process,
SubjectContext.ClientToken = NULL;
/* Do the access check */
if (!SecurityDescriptor) DPRINT1("FIX PS SDs!!\n");
Result = SeAccessCheck(SecurityDescriptor,
&SubjectContext,
FALSE,

View file

@ -871,6 +871,14 @@ SeAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
PAGED_CODE();
/* Check if we didn't get an SD */
if (!SecurityDescriptor)
{
/* Automatic failure */
*AccessStatus = STATUS_ACCESS_DENIED;
return FALSE;
}
CurrentAccess = PreviouslyGrantedAccess;
if (SubjectContextLocked == FALSE)