server: Fix file_set_sd to handle NULL DACLs.

These mean that the file should have full permissions for everyone.
oldstable
Rob Shearman 2007-10-20 16:21:05 +01:00 committed by Alexandre Julliard
parent 1c7891f86e
commit 8d6093e624
1 changed files with 3 additions and 2 deletions

View File

@ -435,9 +435,10 @@ static int file_set_sd( struct object *obj, const struct security_descriptor *sd
if (set_info & DACL_SECURITY_INFORMATION)
{
if (sd->control & SE_DACL_PRESENT)
int present;
const ACL *dacl = sd_get_dacl( sd, &present );
if (present && dacl)
{
const ACL *dacl = (const ACL *)((char *)sd + sd->owner_len + sd->group_len + sd->sacl_len);
const ACE_HEADER *ace = (const ACE_HEADER *)(dacl + 1);
ULONG i;
for (i = 0; i < dacl->AceCount; i++)