From c23aabe53389c4621e35b8f719d0d00f3b5da77f Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Wed, 20 Mar 2019 13:08:20 -0700 Subject: [PATCH] sys: ea: return STATUS_INVALID_DEVICE_REQUEST if no ExtendedAttributes --- src/sys/ea.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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;