mirror of
https://github.com/reactos/reactos.git
synced 2024-08-31 07:38:48 +00:00
Input parameter in FSCTL_GET_RETRIEVAL_POINTERS is really a STARTING_VCN_INPUT_BUFFER structure (even if it contains only a LARGE_INTEGER)
svn path=/trunk/; revision=17319
This commit is contained in:
parent
733f1ba80d
commit
0c6db72406
|
@ -704,7 +704,7 @@ VfatGetRetrievalPointers(PVFAT_IRP_CONTEXT IrpContext)
|
||||||
DeviceExt = IrpContext->DeviceExt;
|
DeviceExt = IrpContext->DeviceExt;
|
||||||
FileObject = IrpContext->FileObject;
|
FileObject = IrpContext->FileObject;
|
||||||
Stack = IrpContext->Stack;
|
Stack = IrpContext->Stack;
|
||||||
if (Stack->Parameters.DeviceIoControl.InputBufferLength < sizeof(LARGE_INTEGER) ||
|
if (Stack->Parameters.DeviceIoControl.InputBufferLength < sizeof(STARTING_VCN_INPUT_BUFFER) ||
|
||||||
Stack->Parameters.DeviceIoControl.Type3InputBuffer == NULL)
|
Stack->Parameters.DeviceIoControl.Type3InputBuffer == NULL)
|
||||||
{
|
{
|
||||||
return STATUS_INVALID_PARAMETER;
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
@ -719,7 +719,7 @@ VfatGetRetrievalPointers(PVFAT_IRP_CONTEXT IrpContext)
|
||||||
|
|
||||||
ExAcquireResourceSharedLite(&Fcb->MainResource, TRUE);
|
ExAcquireResourceSharedLite(&Fcb->MainResource, TRUE);
|
||||||
|
|
||||||
Vcn = *(PLARGE_INTEGER)Stack->Parameters.DeviceIoControl.Type3InputBuffer;
|
Vcn = ((PSTARTING_VCN_INPUT_BUFFER)Stack->Parameters.DeviceIoControl.Type3InputBuffer)->StartingVcn;
|
||||||
RetrievalPointers = IrpContext->Irp->UserBuffer;
|
RetrievalPointers = IrpContext->Irp->UserBuffer;
|
||||||
|
|
||||||
MaxExtentCount = ((Stack->Parameters.DeviceIoControl.OutputBufferLength - sizeof(RetrievalPointers->ExtentCount) - sizeof(RetrievalPointers->StartingVcn)) / sizeof(RetrievalPointers->Extents[0]));
|
MaxExtentCount = ((Stack->Parameters.DeviceIoControl.OutputBufferLength - sizeof(RetrievalPointers->ExtentCount) - sizeof(RetrievalPointers->StartingVcn)) / sizeof(RetrievalPointers->Extents[0]));
|
||||||
|
|
Loading…
Reference in a new issue