- Don't overwrite values in a completed IRP in ReceiveActivity
CORE-11276 #resolve

svn path=/trunk/; revision=71357
This commit is contained in:
Thomas Faber 2016-05-19 21:17:18 +00:00
parent 811a8408d0
commit 28b4a2412b

View file

@ -153,7 +153,7 @@ static NTSTATUS ReceiveActivity( PAFD_FCB FCB, PIRP Irp ) {
PIRP NextIrp;
PIO_STACK_LOCATION NextIrpSp;
PAFD_RECV_INFO RecvReq;
UINT TotalBytesCopied = 0, RetBytesCopied = 0;
UINT TotalBytesCopied = 0;
NTSTATUS Status = STATUS_SUCCESS, RetStatus = STATUS_PENDING;
AFD_DbgPrint(MID_TRACE,("%p %p\n", FCB, Irp));
@ -227,7 +227,6 @@ static NTSTATUS ReceiveActivity( PAFD_FCB FCB, PIRP Irp ) {
NextIrp->IoStatus.Information = TotalBytesCopied;
if( NextIrp == Irp ) {
RetStatus = Status;
RetBytesCopied = TotalBytesCopied;
}
if( NextIrp->MdlAddress ) UnlockRequest( NextIrp, IoGetCurrentIrpStackLocation( NextIrp ) );
(void)IoSetCancelRoutine(NextIrp, NULL);
@ -264,12 +263,6 @@ static NTSTATUS ReceiveActivity( PAFD_FCB FCB, PIRP Irp ) {
AFD_DbgPrint(MID_TRACE,("RetStatus for irp %p is %x\n", Irp, RetStatus));
/* Sometimes we're called with a NULL Irp */
if( Irp ) {
Irp->IoStatus.Status = RetStatus;
Irp->IoStatus.Information = RetBytesCopied;
}
return RetStatus;
}