Module: wine Branch: master Commit: 2cefbaab97ef4536b58b2bf21192c4a2fdf042d0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2cefbaab97ef4536b58b2bf211...
Author: André Hentschel nerv@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) {