[LOCALMON]
authorThomas Faber <thomas.faber@reactos.org>
Sun, 19 Feb 2017 10:31:37 +0000 (10:31 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Sun, 19 Feb 2017 10:31:37 +0000 (10:31 +0000)
- Avoid a potential double free in InitializePrintMonitor2. CID 1401299
- Avoid a use after free in LocalmonClosePort. CID 1401298

svn path=/trunk/; revision=73835

reactos/win32ss/printing/monitors/localmon/main.c
reactos/win32ss/printing/monitors/localmon/ports.c

index 336a03a..66e127f 100644 (file)
@@ -223,6 +223,7 @@ InitializePrintMonitor2(PMONITORINIT pMonitorInit, PHANDLE phMonitor)
         if (!cchPortName || _IsNEPort(pPort->pwszPortName))
         {
             DllFreeSplMem(pPort);
+            pPort = NULL;
             continue;
         }
 
index a56b5fd..ab146e3 100644 (file)
@@ -541,8 +541,8 @@ LocalmonClosePort(HANDLE hPort)
     {
         EnterCriticalSection(&pPort->pLocalmon->Section);
         RemoveEntryList(&pPort->Entry);
-        DllFreeSplMem(pPort);
         LeaveCriticalSection(&pPort->pLocalmon->Section);
+        DllFreeSplMem(pPort);
     }
 
     SetLastError(ERROR_SUCCESS);