mirror of
https://github.com/reactos/reactos.git
synced 2024-09-15 07:05:04 +00:00
- Free the address we've previously allocated if needed
svn path=/branches/aicom-network-fixes/; revision=35743
This commit is contained in:
parent
976fe9f031
commit
8fa497277d
|
@ -53,6 +53,7 @@ AfdBindSocket(PDEVICE_OBJECT DeviceObject, PIRP Irp,
|
||||||
return UnlockAndMaybeComplete( FCB, STATUS_NO_MEMORY,
|
return UnlockAndMaybeComplete( FCB, STATUS_NO_MEMORY,
|
||||||
Irp, 0, NULL );
|
Irp, 0, NULL );
|
||||||
|
|
||||||
|
if( FCB->LocalAddress ) ExFreePool( FCB->LocalAddress );
|
||||||
FCB->LocalAddress = TaCopyTransportAddress( &BindReq->Address );
|
FCB->LocalAddress = TaCopyTransportAddress( &BindReq->Address );
|
||||||
|
|
||||||
if( FCB->LocalAddress )
|
if( FCB->LocalAddress )
|
||||||
|
|
|
@ -166,6 +166,7 @@ AfdStreamSocketConnect(PDEVICE_OBJECT DeviceObject, PIRP Irp,
|
||||||
return LeaveIrpUntilLater( FCB, Irp, FUNCTION_CONNECT );
|
return LeaveIrpUntilLater( FCB, Irp, FUNCTION_CONNECT );
|
||||||
|
|
||||||
case SOCKET_STATE_CREATED:
|
case SOCKET_STATE_CREATED:
|
||||||
|
if( FCB->LocalAddress ) ExFreePool( FCB->LocalAddress );
|
||||||
FCB->LocalAddress =
|
FCB->LocalAddress =
|
||||||
TaCopyTransportAddress( &ConnectReq->RemoteAddress );
|
TaCopyTransportAddress( &ConnectReq->RemoteAddress );
|
||||||
|
|
||||||
|
@ -193,6 +194,7 @@ AfdStreamSocketConnect(PDEVICE_OBJECT DeviceObject, PIRP Irp,
|
||||||
/* Drop through to SOCKET_STATE_BOUND */
|
/* Drop through to SOCKET_STATE_BOUND */
|
||||||
|
|
||||||
case SOCKET_STATE_BOUND:
|
case SOCKET_STATE_BOUND:
|
||||||
|
if( FCB->RemoteAddress ) ExFreePool( FCB->RemoteAddress );
|
||||||
FCB->RemoteAddress =
|
FCB->RemoteAddress =
|
||||||
TaCopyTransportAddress( &ConnectReq->RemoteAddress );
|
TaCopyTransportAddress( &ConnectReq->RemoteAddress );
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,8 @@ static VOID SatisfyAccept( PAFD_DEVICE_EXTENSION DeviceExt,
|
||||||
|
|
||||||
FCB->State = SOCKET_STATE_CONNECTED;
|
FCB->State = SOCKET_STATE_CONNECTED;
|
||||||
FCB->Connection = Qelt->Object;
|
FCB->Connection = Qelt->Object;
|
||||||
|
|
||||||
|
if( FCB->RemoteAddress ) ExFreePool( FCB->RemoteAddress );
|
||||||
FCB->RemoteAddress =
|
FCB->RemoteAddress =
|
||||||
TaCopyTransportAddress( Qelt->ConnInfo->RemoteAddress );
|
TaCopyTransportAddress( Qelt->ConnInfo->RemoteAddress );
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue