diff --git a/src/sys/ea.c b/src/sys/ea.c index 0b5462b4..c0a3cb3a 100644 --- a/src/sys/ea.c +++ b/src/sys/ea.c @@ -343,12 +343,17 @@ static NTSTATUS FspFsvolQueryEa( { PAGED_CODE(); + FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(FsvolDeviceObject); + + /* do we support Ea? */ + if (!FsvolDeviceExtension->VolumeParams.ExtendedAttributes) + return STATUS_INVALID_DEVICE_REQUEST; + /* is this a valid FileObject? */ if (!FspFileNodeIsValid(IrpSp->FileObject->FsContext)) return STATUS_INVALID_DEVICE_REQUEST; NTSTATUS Result; - FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(FsvolDeviceObject); PFILE_OBJECT FileObject = IrpSp->FileObject; FSP_FILE_NODE *FileNode = FileObject->FsContext; FSP_FILE_DESC *FileDesc = FileObject->FsContext2; @@ -504,6 +509,12 @@ static NTSTATUS FspFsvolSetEa( { PAGED_CODE(); + FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(FsvolDeviceObject); + + /* do we support Ea? */ + if (!FsvolDeviceExtension->VolumeParams.ExtendedAttributes) + return STATUS_INVALID_DEVICE_REQUEST; + /* is this a valid FileObject? */ if (!FspFileNodeIsValid(IrpSp->FileObject->FsContext)) return STATUS_INVALID_DEVICE_REQUEST;