Wolfram Sang : user32: Check bitmap info before it is used.
Alexandre Julliard
julliard at winehq.org
Mon Feb 28 11:02:10 CST 2011
Module: wine
Branch: master
Commit: c67f075d67a6d8de19dae570022265fc0f89ef52
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c67f075d67a6d8de19dae570022265fc0f89ef52
Author: Wolfram Sang <wolfram at the-dreams.de>
Date: Thu Feb 24 22:12:09 2011 +0100
user32: Check bitmap info before it is used.
---
dlls/user32/cursoricon.c | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c
index 2c9aeef..cd7d3ed 100644
--- a/dlls/user32/cursoricon.c
+++ b/dlls/user32/cursoricon.c
@@ -2198,6 +2198,14 @@ static HBITMAP BITMAP_Load( HINSTANCE instance, LPCWSTR name,
if (bmfh->bfOffBits) offbits = bmfh->bfOffBits - sizeof(BITMAPFILEHEADER);
}
+ bm_type = DIB_GetBitmapInfo( &info->bmiHeader, &width, &height,
+ &bpp_dummy, &compr_dummy);
+ if (bm_type == -1)
+ {
+ WARN("Invalid bitmap format!\n");
+ goto end;
+ }
+
size = bitmap_info_size(info, DIB_RGB_COLORS);
fix_info = HeapAlloc(GetProcessHeap(), 0, size);
scaled_info = HeapAlloc(GetProcessHeap(), 0, size);
@@ -2209,13 +2217,6 @@ static HBITMAP BITMAP_Load( HINSTANCE instance, LPCWSTR name,
DIB_FixColorsToLoadflags(fix_info, loadflags, pix);
memcpy(scaled_info, fix_info, size);
- bm_type = DIB_GetBitmapInfo( &fix_info->bmiHeader, &width, &height,
- &bpp_dummy, &compr_dummy);
- if (bm_type == -1)
- {
- WARN("Invalid bitmap format!\n");
- goto end;
- }
if(desiredx != 0)
new_width = desiredx;
More information about the wine-cvs
mailing list