diff --git a/src/sys/driver.h b/src/sys/driver.h index 305d7774..3ebe8442 100644 --- a/src/sys/driver.h +++ b/src/sys/driver.h @@ -1126,7 +1126,11 @@ static inline BOOLEAN FspReadIrpShouldUseProcessBuffer(PIRP Irp, SIZE_T BufferSize) { ASSERT(0 != Irp); +#if DBG + return DEBUGTEST(50) || +#else return FspProcessBufferSizeMax >= BufferSize || +#endif FspFsvolDeviceExtension(IoGetCurrentIrpStackLocation(Irp)->DeviceObject)-> VolumeParams.AlwaysUseDoubleBuffering; } @@ -1134,7 +1138,11 @@ static inline BOOLEAN FspWriteIrpShouldUseProcessBuffer(PIRP Irp, SIZE_T BufferSize) { ASSERT(0 != Irp); +#if DBG + return DEBUGTEST(50) || +#else return FspProcessBufferSizeMax >= BufferSize || +#endif FspFsvolDeviceExtension(IoGetCurrentIrpStackLocation(Irp)->DeviceObject)-> VolumeParams.AlwaysUseDoubleBuffering; } diff --git a/src/sys/psbuffer.c b/src/sys/psbuffer.c index 6d44022b..96f57e37 100644 --- a/src/sys/psbuffer.c +++ b/src/sys/psbuffer.c @@ -102,7 +102,7 @@ static inline VOID FspProcessBufferReuseEntry(HANDLE ProcessId, if (0 != BufferEntry->Buffer) { SIZE_T BufferSize = 0; - ZwFreeVirtualMemory(ZwCurrentProcess(), BufferEntry->Buffer, &BufferSize, MEM_RELEASE); + ZwFreeVirtualMemory(ZwCurrentProcess(), &BufferEntry->Buffer, &BufferSize, MEM_RELEASE); } FspFree(BufferEntry); @@ -275,6 +275,6 @@ VOID FspProcessBufferRelease(PVOID BufferCookie, PVOID Buffer) else { SIZE_T BufferSize = 0; - ZwFreeVirtualMemory(ZwCurrentProcess(), Buffer, &BufferSize, MEM_RELEASE); + ZwFreeVirtualMemory(ZwCurrentProcess(), &Buffer, &BufferSize, MEM_RELEASE); } }