comdlg32: Fix some memory leaks (2 of 3)

Andrew Talbot andrew.talbot at talbotville.com
Thu Sep 13 18:16:11 CDT 2007


Changelog:
    comdlg32: Fix some memory leaks.

diff -urN a/dlls/comdlg32/printdlg16.c b/dlls/comdlg32/printdlg16.c
--- a/dlls/comdlg32/printdlg16.c	2007-04-30 13:13:12.000000000 +0100
+++ b/dlls/comdlg32/printdlg16.c	2007-09-13 23:52:50.000000000 +0100
@@ -390,9 +390,10 @@
 	GetPrinterDriverA(hprn, NULL, 3, NULL, 0, &needed);
 	dbuf = HeapAlloc(GetProcessHeap(),0,needed);
 	if (!GetPrinterDriverA(hprn, NULL, 3, (LPBYTE)dbuf, needed, &needed)) {
-            ERR("GetPrinterDriverA failed for %s, le %d, fix your config!\n",
-		    pbuf->pPrinterName,GetLastError());
-            HeapFree(GetProcessHeap(), 0, dbuf);
+	    ERR("GetPrinterDriverA failed for %s, le %d, fix your config!\n",
+	        pbuf->pPrinterName,GetLastError());
+	    HeapFree(GetProcessHeap(), 0, dbuf);
+	    HeapFree(GetProcessHeap(), 0, pbuf);
 	    COMDLG32_SetCommDlgExtendedError(PDERR_RETDEFFAILURE);
 	    return FALSE;
 	}
@@ -506,7 +507,7 @@
 	HeapFree(GetProcessHeap(), 0, PrintStructures->lpDevMode);
 	HeapFree(GetProcessHeap(), 0, PrintStructures->lpPrinterInfo);
 	HeapFree(GetProcessHeap(), 0, PrintStructures->lpDriverInfo);
-	HeapFree(GetProcessHeap(), 0, PrintStructures);
+	HeapFree(GetProcessHeap(), 0, ptr16);
     }
     if(bRet && (lppd->Flags & PD_RETURNDC || lppd->Flags & PD_RETURNIC))
         bRet = PRINTDLG_CreateDC16(lppd);



More information about the wine-patches mailing list