From 684a5943853d90b8c93b99641501f9de359ed9a2 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Sat, 5 Dec 2015 12:42:23 -0800 Subject: [PATCH] sys: IRP_MJ_CREATE: improve access checks logic --- src/sys/create.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sys/create.c b/src/sys/create.c index 20f1c3ea..80d28570 100644 --- a/src/sys/create.c +++ b/src/sys/create.c @@ -73,7 +73,7 @@ static NTSTATUS FspFsvolCreate( PSECURITY_DESCRIPTOR SecurityDescriptor = AccessState->SecurityDescriptor; ULONG SecurityDescriptorSize = 0; LARGE_INTEGER AllocationSize = Irp->Overlay.AllocationSize; - ACCESS_MASK DesiredAccess = IrpSp->Parameters.Create.DesiredAccess; + ACCESS_MASK DesiredAccess = IrpSp->Parameters.Create.SecurityContext->DesiredAccess; USHORT ShareAccess = IrpSp->Parameters.Create.ShareAccess; PFILE_FULL_EA_INFORMATION EaBuffer = Irp->AssociatedIrp.SystemBuffer; //ULONG EaLength = IrpSp->Parameters.Create.EaLength; @@ -353,7 +353,7 @@ VOID FspFsvolCreateComplete( PSECURITY_DESCRIPTOR SecurityDescriptor = (PVOID)(Response->Buffer + Response->Rsp.Create.SecurityDescriptor); ULONG SecurityDescriptorSize = Response->Rsp.Create.SecurityDescriptorSize; - ACCESS_MASK DesiredAccess = IrpSp->Parameters.Create.DesiredAccess; + ACCESS_MASK DesiredAccess = IrpSp->Parameters.Create.SecurityContext->DesiredAccess; USHORT ShareAccess = IrpSp->Parameters.Create.ShareAccess; ULONG Flags = IrpSp->Flags; KPROCESSOR_MODE RequestorMode =