From e950f52e3925bb803cfe97dcaa019621323f04bf Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Sun, 2 Oct 2011 12:25:07 +0000 Subject: [PATCH] [DESK] Fix memory & resource leaks svn path=/trunk/; revision=53924 --- reactos/dll/cpl/desk/dibitmap.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/reactos/dll/cpl/desk/dibitmap.c b/reactos/dll/cpl/desk/dibitmap.c index 56a9255f802..b58b8b8e5eb 100644 --- a/reactos/dll/cpl/desk/dibitmap.c +++ b/reactos/dll/cpl/desk/dibitmap.c @@ -38,11 +38,15 @@ DibLoadImage(LPTSTR lpFilename) lpBitmap = HeapAlloc(GetProcessHeap(), 0, sizeof(DIBITMAP)); if (lpBitmap == NULL) + { + CloseHandle(hFile); return NULL; + } lpBitmap->header = HeapAlloc(GetProcessHeap(), 0, dwFileSize); if (lpBitmap->header == NULL) { + HeapFree(GetProcessHeap(), 0, lpBitmap); CloseHandle(hFile); return NULL; } @@ -56,6 +60,7 @@ DibLoadImage(LPTSTR lpFilename) (lpBitmap->header->bfSize != dwFileSize)) { HeapFree(GetProcessHeap(), 0, lpBitmap->header); + HeapFree(GetProcessHeap(), 0, lpBitmap); return NULL; }