=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: winspool: Avoid memory leaks ( coverity).

Alexandre Julliard julliard at winehq.org
Thu Nov 1 14:42:59 CDT 2012


Module: wine
Branch: master
Commit: 2cefbaab97ef4536b58b2bf21192c4a2fdf042d0
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=2cefbaab97ef4536b58b2bf21192c4a2fdf042d0

Author: André Hentschel <nerv at dawncrow.de>
Date:   Thu Nov  1 16:08:29 2012 +0100

winspool: Avoid memory leaks (coverity).

---

 dlls/winspool.drv/info.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index 7509a8e..af336cb 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -944,7 +944,11 @@ static BOOL CUPS_LoadPrinters(void)
                 unlink_ppd( ppd );
             }
             HeapFree( GetProcessHeap(), 0, ppd );
-            if (!added_driver) continue;
+            if (!added_driver)
+            {
+                HeapFree( GetProcessHeap(), 0, port );
+                continue;
+            }
 
             memset(&pi2, 0, sizeof(PRINTER_INFO_2W));
             pi2.pPrinterName    = nameW;
@@ -2374,7 +2378,7 @@ LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
 {
 
     LPSTR pDeviceNameA = strdupWtoA(pDeviceName);
-    LPDEVMODEA pDevModeInputA = DEVMODEdupWtoA(pDevModeInput);
+    LPDEVMODEA pDevModeInputA;
     LPDEVMODEA pDevModeOutputA = NULL;
     LONG ret;
 
@@ -2386,6 +2390,7 @@ LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
 	if(ret < 0) return ret;
 	pDevModeOutputA = HeapAlloc(GetProcessHeap(), 0, ret);
     }
+    pDevModeInputA = DEVMODEdupWtoA(pDevModeInput);
     ret = DocumentPropertiesA(hWnd, hPrinter, pDeviceNameA, pDevModeOutputA,
 			      pDevModeInputA, fMode);
     if(pDevModeOutput) {




More information about the wine-cvs mailing list