Author: tfaber
Date: Mon Sep 19 08:15:24 2016
New Revision: 72738

URL: http://svn.reactos.org/svn/reactos?rev=72738&view=rev
Log:
[AFD]
- Fix MDL leak in failure case of AfdGetSockName. Patch by Volodymyr 
Shcherbyna. CID 1322161.
CORE-11096 #resolve

Modified:
    trunk/reactos/drivers/network/afd/afd/info.c

Modified: trunk/reactos/drivers/network/afd/afd/info.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/afd/afd/info.c?rev=72738&r1=72737&r2=72738&view=diff
==============================================================================
--- trunk/reactos/drivers/network/afd/afd/info.c        [iso-8859-1] (original)
+++ trunk/reactos/drivers/network/afd/afd/info.c        [iso-8859-1] Mon Sep 19 
08:15:24 2016
@@ -198,6 +198,7 @@
     PMDL Mdl = NULL;
 
     UNREFERENCED_PARAMETER(DeviceObject);
+    ASSERT(Irp->MdlAddress == NULL);
 
     if( !SocketAcquireStateLock( FCB ) ) return LostSocket( Irp );
 
@@ -226,6 +227,11 @@
                                               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;
 


Reply via email to