From 8572bea55fc98946878361afdd444a39b5b3ab62 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Fri, 27 Nov 2015 10:01:07 -0800 Subject: [PATCH] sys: fsctl: WIP --- src/sys/fsctl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sys/fsctl.c b/src/sys/fsctl.c index a6d96d0f..785908c0 100644 --- a/src/sys/fsctl.c +++ b/src/sys/fsctl.c @@ -160,15 +160,15 @@ static NTSTATUS FspFsvrtTransact( /* send any pending IRP's to the user-mode file system */ Request = SystemBuffer; SystemBufferEnd = (PUINT8)SystemBuffer + OutputBufferLength; + ASSERT((PUINT8)Request + FSP_FSCTL_TRANSACT_REQ_SIZEMAX <= SystemBufferEnd); for (;;) { PendingIrpRequest = PendingIrp->Tail.Overlay.DriverContext[0]; NextRequest = FspFsctlTransactProduceRequest( Request, PendingIrpRequest->Size, SystemBufferEnd); - ASSERT(0 != NextRequest || Request != SystemBuffer); - if (0 == NextRequest) - break; + /* this should not fail as we have already checked that we have enough space */ + ASSERT(0 != NextRequest); RtlCopyMemory(Request, PendingIrpRequest, PendingIrpRequest->Size); Request = NextRequest;