diff --git a/reactos/drivers/filesystems/np/rw.c b/reactos/drivers/filesystems/np/rw.c index 8ff4d75cee2..5c288e4d1a6 100644 --- a/reactos/drivers/filesystems/np/rw.c +++ b/reactos/drivers/filesystems/np/rw.c @@ -318,6 +318,14 @@ NpfsRead(IN PDEVICE_OBJECT DeviceObject, Fcb = FileObject->FsContext; Context = (PNPFS_CONTEXT)&Irp->Tail.Overlay.DriverContext; + if (Fcb->OtherSide == NULL && Fcb->PipeState == FILE_PIPE_LISTENING_STATE) + { + DPRINT("Pipe is NOT yet connected!\n"); + Status = STATUS_PIPE_LISTENING; + Irp->IoStatus.Information = 0; + goto done; + } + if (Fcb->Data == NULL) { DPRINT1("Pipe is NOT readable!\n"); @@ -529,7 +537,7 @@ NpfsRead(IN PDEVICE_OBJECT DeviceObject, } Irp->IoStatus.Information = Information; Irp->IoStatus.Status = Status; - + ASSERT(IoGetCurrentIrpStackLocation(Irp)->FileObject != NULL); if (IoIsOperationSynchronous(Irp))