[NTOSKRNL]

The Ewoks concil said it's fine to dereference null pointers in the kernel, so, partly revert r70819 (by partly, I mean: revert everything excepted the comments that were fixed!).
Also add asserts that exist on Windows to make it obvious we're about to kill the whole kernel

To make it clear: fix the FSD!

svn path=/trunk/; revision=70824
This commit is contained in:
Pierre Schweitzer 2016-02-29 21:45:44 +00:00
parent a1a070ac19
commit 5e3fd4edeb

View file

@ -2563,8 +2563,8 @@ NtReadFile(IN HANDLE FileHandle,
{ {
/* Perform fast read */ /* Perform fast read */
FastIoDispatch = DeviceObject->DriverObject->FastIoDispatch; FastIoDispatch = DeviceObject->DriverObject->FastIoDispatch;
if (FastIoDispatch != NULL && FastIoDispatch->FastIoRead != NULL) ASSERT(FastIoDispatch != NULL && FastIoDispatch->FastIoRead != NULL);
{
Success = FastIoDispatch->FastIoRead(FileObject, Success = FastIoDispatch->FastIoRead(FileObject,
&CapturedByteOffset, &CapturedByteOffset,
Length, Length,
@ -2614,7 +2614,6 @@ NtReadFile(IN HANDLE FileHandle,
return KernelIosb.Status; return KernelIosb.Status;
} }
} }
}
/* Remember we are sync */ /* Remember we are sync */
Synchronous = TRUE; Synchronous = TRUE;
@ -3578,8 +3577,8 @@ NtWriteFile(IN HANDLE FileHandle,
{ {
/* Perform fast write */ /* Perform fast write */
FastIoDispatch = DeviceObject->DriverObject->FastIoDispatch; FastIoDispatch = DeviceObject->DriverObject->FastIoDispatch;
if (FastIoDispatch != NULL && FastIoDispatch->FastIoWrite != NULL) ASSERT(FastIoDispatch != NULL && FastIoDispatch->FastIoWrite != NULL);
{
Success = FastIoDispatch->FastIoWrite(FileObject, Success = FastIoDispatch->FastIoWrite(FileObject,
&CapturedByteOffset, &CapturedByteOffset,
Length, Length,
@ -3627,7 +3626,6 @@ NtWriteFile(IN HANDLE FileHandle,
return KernelIosb.Status; return KernelIosb.Status;
} }
} }
}
/* Remember we are sync */ /* Remember we are sync */
Synchronous = TRUE; Synchronous = TRUE;