diff --git a/src/sys/device.c b/src/sys/device.c index 1c64de11..f768a708 100644 --- a/src/sys/device.c +++ b/src/sys/device.c @@ -300,10 +300,6 @@ static NTSTATUS FspFsvolDeviceInit(PDEVICE_OBJECT DeviceObject) FspFsvolDeviceCompareElement, FspFsvolDeviceAllocateElement, FspFsvolDeviceFreeElement, 0); FsvolDeviceExtension->InitDoneGenTab = 1; - /* initialize the volume name buffer */ - RtlInitEmptyUnicodeString(&FsvolDeviceExtension->VolumeName, - FsvolDeviceExtension->VolumeNameBuf, sizeof FsvolDeviceExtension->VolumeNameBuf); - /* initialize our timer routine and start our expiration timer */ #pragma prefast(suppress:28133, "We are a filesystem: we do not have AddDevice") Result = IoInitializeTimer(DeviceObject, FspFsvolDeviceTimerRoutine, 0); diff --git a/src/sys/ioq.c b/src/sys/ioq.c index 50073e03..ab0d985f 100644 --- a/src/sys/ioq.c +++ b/src/sys/ioq.c @@ -209,7 +209,9 @@ NTSTATUS FspIoqCreate( { ASSERT(0 != CompleteCanceledIrp); - ULONG BucketCount = IrpCapacity / 2; + *PIoq = 0; + + ULONG BucketCount = IrpCapacity / 3; FSP_IOQ *Ioq = FspAllocNonPaged( sizeof *Ioq + sizeof Ioq->ProcessIrpDictBuckets[0] * BucketCount); if (0 == Ioq) @@ -240,6 +242,8 @@ NTSTATUS FspIoqCreate( Ioq->PendingIrpCapacity = IrpCapacity; Ioq->CompleteCanceledIrp = CompleteCanceledIrp; + *PIoq = Ioq; + return STATUS_SUCCESS; } diff --git a/src/sys/volume.c b/src/sys/volume.c index 79febc46..d69a8de7 100644 --- a/src/sys/volume.c +++ b/src/sys/volume.c @@ -157,6 +157,8 @@ NTSTATUS FspVolumeCreate( FsvolDeviceExtension->FsctlDeviceObject = FsctlDeviceObject; FsvolDeviceExtension->FsvrtDeviceObject = FsvrtDeviceObject; FsvolDeviceExtension->VolumeParams = VolumeParams; + RtlInitEmptyUnicodeString(&FsvolDeviceExtension->VolumeName, + FsvolDeviceExtension->VolumeNameBuf, sizeof FsvolDeviceExtension->VolumeNameBuf); RtlCopyUnicodeString(&FsvolDeviceExtension->VolumeName, &VolumeName); Result = FspDeviceInitialize(FsvolDeviceObject); if (NT_SUCCESS(Result))