From d9464ba88fd4187cfa39e279a8f2c6e62d864919 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Wed, 13 Jan 2016 16:37:19 -0800 Subject: [PATCH] dll: FspFileSystemLoop: check dispatcher result immediately after exit from FspFsctlTransact --- src/dll/loop.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/dll/loop.c b/src/dll/loop.c index c6353a78..3795a615 100644 --- a/src/dll/loop.c +++ b/src/dll/loop.c @@ -77,9 +77,13 @@ FSP_API NTSTATUS FspFileSystemLoop(FSP_FILE_SYSTEM *FileSystem) Result = FspFsctlTransact(FileSystem->VolumeHandle, 0, 0, RequestBuf, &RequestBufSize); if (!NT_SUCCESS(Result)) goto exit; - RequestBufEnd = RequestBuf + RequestBufSize; + + FspFileSystemGetDispatcherResult(FileSystem, &Result); + if (!NT_SUCCESS(Result)) + goto exit; Request = (PVOID)RequestBuf; + RequestBufEnd = RequestBuf + RequestBufSize; for (;;) { NextRequest = FspFsctlTransactConsumeRequest(Request, RequestBufEnd);