[NTOSKNRL] Only allocate a MDL if we have an output length
authorPierre Schweitzer <pierre@reactos.org>
Sun, 29 Jul 2018 11:58:30 +0000 (13:58 +0200)
committerPierre Schweitzer <pierre@reactos.org>
Sun, 29 Jul 2018 11:58:30 +0000 (13:58 +0200)
For user mode, when probing output buffer, if it's null, length
will also be set to 0.

This avoids user mode applications being able to trigger various
asserts in ReactOS (and thus BSOD when no debugger is plugged ;-)).

ntoskrnl/io/iomgr/iofunc.c

index fa48869..d119f85 100644 (file)
@@ -580,7 +580,7 @@ IopDeviceFsIoControl(IN HANDLE DeviceHandle,
                 }
 
                 /* Check if we got an output buffer */
-                if (OutputBuffer)
+                if (OutputBufferLength)
                 {
                     /* Allocate the System Buffer */
                     Irp->MdlAddress = IoAllocateMdl(OutputBuffer,