projects
/
reactos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[AFD]
[reactos.git]
/
reactos
/
drivers
/
network
/
afd
/
afd
/
info.c
diff --git
a/reactos/drivers/network/afd/afd/info.c
b/reactos/drivers/network/afd/afd/info.c
index
2ceff46
..
162f660
100644
(file)
--- a/
reactos/drivers/network/afd/afd/info.c
+++ b/
reactos/drivers/network/afd/afd/info.c
@@
-198,6
+198,7
@@
AfdGetSockName( PDEVICE_OBJECT DeviceObject, PIRP Irp,
PMDL Mdl = NULL;
UNREFERENCED_PARAMETER(DeviceObject);
PMDL Mdl = NULL;
UNREFERENCED_PARAMETER(DeviceObject);
+ ASSERT(Irp->MdlAddress == NULL);
if( !SocketAcquireStateLock( FCB ) ) return LostSocket( Irp );
if( !SocketAcquireStateLock( FCB ) ) return LostSocket( Irp );
@@
-226,6
+227,11
@@
AfdGetSockName( PDEVICE_OBJECT DeviceObject, PIRP Irp,
TDI_QUERY_ADDRESS_INFO,
Mdl );
}
TDI_QUERY_ADDRESS_INFO,
Mdl );
}
+
+ /* Check if MmProbeAndLockPages or TdiQueryInformation failed and
+ * clean up Mdl */
+ if (!NT_SUCCESS(Status) && Irp->MdlAddress != Mdl)
+ IoFreeMdl(Mdl);
} else
Status = STATUS_INSUFFICIENT_RESOURCES;
} else
Status = STATUS_INSUFFICIENT_RESOURCES;