mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-24 01:13:04 -05:00
sys: FspVolumeTransact: bug fix with bogus IRP's and DEBUGLOG's
This commit is contained in:
parent
45a0f97805
commit
f8d5273e04
@ -544,8 +544,12 @@ NTSTATUS FspVolumeTransact(
|
|||||||
|
|
||||||
ProcessIrp = FspIoqEndProcessingIrp(FsvolDeviceExtension->Ioq, (UINT_PTR)Response->Hint);
|
ProcessIrp = FspIoqEndProcessingIrp(FsvolDeviceExtension->Ioq, (UINT_PTR)Response->Hint);
|
||||||
if (0 == ProcessIrp)
|
if (0 == ProcessIrp)
|
||||||
|
{
|
||||||
/* either IRP was canceled or a bogus Hint was provided */
|
/* either IRP was canceled or a bogus Hint was provided */
|
||||||
|
DEBUGLOG("BOGUS(Kind=%d, Hint=%p)", Response->Kind, (PVOID)Response->Hint);
|
||||||
|
Response = NextResponse;
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
ASSERT((UINT_PTR)ProcessIrp == (UINT_PTR)Response->Hint);
|
ASSERT((UINT_PTR)ProcessIrp == (UINT_PTR)Response->Hint);
|
||||||
ASSERT(FspIrpRequest(ProcessIrp)->Hint == Response->Hint);
|
ASSERT(FspIrpRequest(ProcessIrp)->Hint == Response->Hint);
|
||||||
@ -725,8 +729,9 @@ NTSTATUS FspVolumeWork(
|
|||||||
FspIrpRequest(Irp) = 0;
|
FspIrpRequest(Irp) = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUGLOG("%s = %s",
|
DEBUGLOG("%s(Irp=%p) = %s",
|
||||||
IoctlCodeSym(BestEffort ? FSP_FSCTL_WORK_BEST_EFFORT : FSP_FSCTL_WORK),
|
IoctlCodeSym(BestEffort ? FSP_FSCTL_WORK_BEST_EFFORT : FSP_FSCTL_WORK),
|
||||||
|
Irp, /* referencing pointer value, which is safe despite FspIoqPostIrpEx above! */
|
||||||
NtStatusSym(Result));
|
NtStatusSym(Result));
|
||||||
|
|
||||||
return Result;
|
return Result;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user