Author: pschweitzer
Date: Sun May 10 20:56:48 2015
New Revision: 67636
URL: 
http://svn.reactos.org/svn/reactos?rev=67636&view=rev
Log:
[NTFS]
- Only set the IOSB status if we complete the IRP
- Fix the assert: the caller might want not to complete the IRP nor to queue it (passed
down IRPs)
Modified:
    trunk/reactos/drivers/filesystems/ntfs/dispatch.c
Modified: trunk/reactos/drivers/filesystems/ntfs/dispatch.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/d…
==============================================================================
--- trunk/reactos/drivers/filesystems/ntfs/dispatch.c   [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/ntfs/dispatch.c   [iso-8859-1] Sun May 10 20:56:48
2015
@@ -85,13 +85,17 @@
     else
         Status = STATUS_INSUFFICIENT_RESOURCES;
-    ASSERT(((IrpContext->Flags & IRPCONTEXT_COMPLETE) &&
!(IrpContext->Flags & IRPCONTEXT_QUEUE)) ||
+    ASSERT((!(IrpContext->Flags & IRPCONTEXT_COMPLETE) &&
!(IrpContext->Flags & IRPCONTEXT_QUEUE)) ||
+           ((IrpContext->Flags & IRPCONTEXT_COMPLETE) &&
!(IrpContext->Flags & IRPCONTEXT_QUEUE)) ||
            (!(IrpContext->Flags & IRPCONTEXT_COMPLETE) &&
(IrpContext->Flags & IRPCONTEXT_QUEUE)));
-    Irp->IoStatus.Status = Status;
+
     if (IrpContext->Flags & IRPCONTEXT_COMPLETE)
+    {
+        Irp->IoStatus.Status = Status;
         IoCompleteRequest(Irp, IrpContext->PriorityBoost);
+    }
     if (IrpContext)
         ExFreePoolWithTag(IrpContext, 'PRIN');