diff --git a/src/sys/device.c b/src/sys/device.c index b54865d7..c9e454ba 100644 --- a/src/sys/device.c +++ b/src/sys/device.c @@ -95,6 +95,7 @@ static VOID FspFsctlDeviceDeleteObject(PDEVICE_OBJECT DeviceObject) { PAGED_CODE(); + ExDeleteResourceLite(&FspFsctlDeviceExtension(DeviceObject)->Resource); IoDeleteDevice(DeviceObject); } diff --git a/src/sys/driver.c b/src/sys/driver.c index 4e174218..5280a507 100644 --- a/src/sys/driver.c +++ b/src/sys/driver.c @@ -41,6 +41,8 @@ NTSTATUS DriverEntry( FSP_RETURN(IoDeleteDevice(FspFsctlDiskDeviceObject)); FspDeviceExtension(FspFsctlDiskDeviceObject)->Kind = FspFsctlDeviceExtensionKind; FspDeviceExtension(FspFsctlNetDeviceObject)->Kind = FspFsctlDeviceExtensionKind; + ExInitializeResourceLite(&FspFsctlDeviceExtension(FspFsctlDiskDeviceObject)->Resource); + ExInitializeResourceLite(&FspFsctlDeviceExtension(FspFsctlNetDeviceObject)->Resource); /* setup the driver object */ DriverObject->DriverUnload = FspUnload; diff --git a/src/sys/driver.h b/src/sys/driver.h index 63ab5787..c979a01a 100644 --- a/src/sys/driver.h +++ b/src/sys/driver.h @@ -249,6 +249,7 @@ typedef struct typedef struct { FSP_DEVICE_EXTENSION Base; + ERESOURCE Resource; } FSP_FSCTL_DEVICE_EXTENSION; typedef struct { diff --git a/src/sys/fsctl.c b/src/sys/fsctl.c index 510036f5..5006fe5e 100644 --- a/src/sys/fsctl.c +++ b/src/sys/fsctl.c @@ -140,6 +140,7 @@ static NTSTATUS FspFsctlMountVolume( &FsvolDeviceObject); if (NT_SUCCESS(Result)) { +#pragma prefast(suppress:28175, "We are a filesystem: ok to access SectorSize") FsvolDeviceObject->SectorSize = FspFsvrtDeviceExtension(FsvrtDeviceObject)->VolumeParams.SectorSize; FsvolDeviceExtension = FspFsvolDeviceExtension(FsvolDeviceObject);