sys: IRP_MJ_QUERY_SECURITY

This commit is contained in:
Bill Zissimopoulos 2016-02-18 16:10:17 -08:00
parent e7cef94507
commit d4f1c13542

View File

@ -112,6 +112,17 @@ NTSTATUS FspFsvolQuerySecurityComplete(
if (0 != FspIopRequestContext(Request, RequestFileNode)) if (0 != FspIopRequestContext(Request, RequestFileNode))
{ {
/* check that the security descriptor we got back is valid */
if (Response->Buffer + Response->Rsp.QuerySecurity.SecurityDescriptor.Size >
(PUINT8)Response + Response->Size ||
!RtlValidRelativeSecurityDescriptor((PVOID)Response->Buffer,
Response->Rsp.QuerySecurity.SecurityDescriptor.Size, 0))
{
Irp->IoStatus.Information = 0;
Result = STATUS_INVALID_SECURITY_DESCR;
FSP_RETURN();
}
FspIopRequestContext(Request, RequestSecurityChangeNumber) = (PVOID)FileNode->SecurityChangeNumber; FspIopRequestContext(Request, RequestSecurityChangeNumber) = (PVOID)FileNode->SecurityChangeNumber;
FspIopRequestContext(Request, RequestFileNode) = 0; FspIopRequestContext(Request, RequestFileNode) = 0;