sys: fsctl: WIP

This commit is contained in:
Bill Zissimopoulos 2015-11-27 10:01:07 -08:00
parent 772ca20077
commit 8572bea55f

View File

@ -160,15 +160,15 @@ static NTSTATUS FspFsvrtTransact(
/* send any pending IRP's to the user-mode file system */ /* send any pending IRP's to the user-mode file system */
Request = SystemBuffer; Request = SystemBuffer;
SystemBufferEnd = (PUINT8)SystemBuffer + OutputBufferLength; SystemBufferEnd = (PUINT8)SystemBuffer + OutputBufferLength;
ASSERT((PUINT8)Request + FSP_FSCTL_TRANSACT_REQ_SIZEMAX <= SystemBufferEnd);
for (;;) for (;;)
{ {
PendingIrpRequest = PendingIrp->Tail.Overlay.DriverContext[0]; PendingIrpRequest = PendingIrp->Tail.Overlay.DriverContext[0];
NextRequest = FspFsctlTransactProduceRequest( NextRequest = FspFsctlTransactProduceRequest(
Request, PendingIrpRequest->Size, SystemBufferEnd); Request, PendingIrpRequest->Size, SystemBufferEnd);
ASSERT(0 != NextRequest || Request != SystemBuffer); /* this should not fail as we have already checked that we have enough space */
if (0 == NextRequest) ASSERT(0 != NextRequest);
break;
RtlCopyMemory(Request, PendingIrpRequest, PendingIrpRequest->Size); RtlCopyMemory(Request, PendingIrpRequest, PendingIrpRequest->Size);
Request = NextRequest; Request = NextRequest;