Michael Stefaniuc : user32: Simplify the error handling in BITMAP_Load().

Alexandre Julliard julliard at winehq.org
Wed Sep 29 12:00:13 CDT 2010


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

Author: Michael Stefaniuc <mstefani at redhat.de>
Date:   Tue Sep 28 22:45:21 2010 +0200

user32: Simplify the error handling in BITMAP_Load().

This fixes a memleak on an error path (Smatch).

---

 dlls/user32/cursoricon.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c
index 29b9bd2..42bba6d 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;




More information about the wine-cvs mailing list