[AFD]
authorCameron Gutman <aicommander@gmail.com>
Sat, 2 Jul 2011 20:26:21 +0000 (20:26 +0000)
committerCameron Gutman <aicommander@gmail.com>
Sat, 2 Jul 2011 20:26:21 +0000 (20:26 +0000)
- Fix a corrupted disconnect timeout pointer being sent to the TDI transport driver

svn path=/trunk/; revision=52502

reactos/drivers/network/afd/afd/main.c
reactos/drivers/network/afd/include/afd.h

index c81d49c..b4fc2d4 100644 (file)
@@ -603,8 +603,6 @@ static
 NTSTATUS
 DoDisconnect(PAFD_FCB FCB)
 {
-    PAFD_DISCONNECT_INFO DisReq;
-    IO_STATUS_BLOCK Iosb;
     NTSTATUS Status;
     
     ASSERT(FCB->DisconnectPending);
@@ -621,9 +619,9 @@ DoDisconnect(PAFD_FCB FCB)
 
     Status = TdiDisconnect(&FCB->DisconnectIrp.InFlightRequest,
                            FCB->Connection.Object,
-                           &DisReq->Timeout,
+                           &FCB->DisconnectTimeout,
                            FCB->DisconnectFlags,
-                           &Iosb,
+                           &FCB->DisconnectIrp.Iosb,
                            DisconnectComplete,
                            FCB,
                            FCB->ConnectCallInfo,
@@ -700,6 +698,7 @@ AfdDisconnect(PDEVICE_OBJECT DeviceObject, PIRP Irp,
         }
         
         FCB->DisconnectFlags = Flags;
+        FCB->DisconnectTimeout = DisReq->Timeout;
         FCB->DisconnectPending = TRUE;
         
         Status = QueueUserModeIrp(FCB, Irp, FUNCTION_DISCONNECT);
index 72387d2..3090d83 100644 (file)
@@ -184,6 +184,7 @@ typedef struct _AFD_FCB {
     UINT ConnSeq;
     USHORT DisconnectFlags;
     BOOLEAN DisconnectPending;
+    LARGE_INTEGER DisconnectTimeout;
     PTRANSPORT_ADDRESS LocalAddress, RemoteAddress;
     PTDI_CONNECTION_INFORMATION AddressFrom, ConnectCallInfo, ConnectReturnInfo;
     AFD_TDI_OBJECT AddressFile, Connection;