From 5a2cc9410586b32aacdb9a878686b68d96e941ab Mon Sep 17 00:00:00 2001 From: Michael Stefaniuc Date: Tue, 28 Sep 2010 22:45:21 +0200 Subject: [PATCH] user32: Simplify the error handling in BITMAP_Load(). This fixes a memleak on an error path (Smatch). --- dlls/user32/cursoricon.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c index 29b9bd291b..42bba6d7cc 100644 --- a/dlls/user32/cursoricon.c +++ b/dlls/user32/cursoricon.c @@ -2291,7 +2291,7 @@ static HBITMAP BITMAP_Load( HINSTANCE instance, LPCWSTR name, if (bmfh->bfType != 0x4d42 /* 'BM' */) { WARN("Invalid/unsupported bitmap format!\n"); - goto end_close; + goto end; } if (bmfh->bfOffBits) offbits = bmfh->bfOffBits - sizeof(BITMAPFILEHEADER); } @@ -2312,7 +2312,7 @@ static HBITMAP BITMAP_Load( HINSTANCE instance, LPCWSTR name, if (bm_type == -1) { WARN("Invalid bitmap format!\n"); - goto end_close; + goto end; } if(desiredx != 0) @@ -2371,7 +2371,6 @@ end: if (screen_mem_dc) DeleteDC(screen_mem_dc); HeapFree(GetProcessHeap(), 0, scaled_info); HeapFree(GetProcessHeap(), 0, fix_info); -end_close: if (loadflags & LR_LOADFROMFILE) UnmapViewOfFile( ptr ); return hbitmap;