diff --git a/reactos/drivers/filesystems/fastfat/finfo.c b/reactos/drivers/filesystems/fastfat/finfo.c index f6f342d7b47..b2c4a97e4d9 100644 --- a/reactos/drivers/filesystems/fastfat/finfo.c +++ b/reactos/drivers/filesystems/fastfat/finfo.c @@ -1444,6 +1444,12 @@ VfatQueryInformation( DPRINT("VfatQueryInformation is called for '%s'\n", FileInformationClass >= FileMaximumInformation - 1 ? "????" : FileInformationClassNames[FileInformationClass]); + if (FCB == NULL) + { + DPRINT1("IRP_MJ_QUERY_INFORMATION without FCB!\n"); + IrpContext->Irp->IoStatus.Information = 0; + return STATUS_INVALID_PARAMETER; + } SystemBuffer = IrpContext->Irp->AssociatedIrp.SystemBuffer; BufferLength = IrpContext->Stack->Parameters.QueryFile.Length; @@ -1569,6 +1575,13 @@ VfatSetInformation( DPRINT("FileInformationClass %d\n", FileInformationClass); DPRINT("SystemBuffer %p\n", SystemBuffer); + if (FCB == NULL) + { + DPRINT1("IRP_MJ_SET_INFORMATION without FCB!\n"); + IrpContext->Irp->IoStatus.Information = 0; + return STATUS_INVALID_PARAMETER; + } + /* Special: We should call MmCanFileBeTruncated here to determine if changing the file size would be allowed. If not, we bail with the right error. We must do this before acquiring the lock. */