[coverity] Add OOM codepath in imagelist control
Mike Hearn
mike at plan99.net
Thu Apr 6 15:42:39 CDT 2006
Mike Hearn <mike at plan99.net>
Add OOM codepath in imagelist control
diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c
index 551f91a..ea09b79 100644
--- a/dlls/comctl32/imagelist.c
+++ b/dlls/comctl32/imagelist.c
@@ -1830,9 +1830,13 @@ static HBITMAP _read_bitmap(LPSTREAM pst
palspace = (1<<bitsperpixel)*sizeof(RGBQUAD);
else
palspace = 0;
+
width = bmih.biWidth;
height = bmih.biHeight;
+
bmihc = (LPBITMAPINFOHEADER)LocalAlloc(LMEM_ZEROINIT,sizeof(bmih)+palspace);
+ if (!bmihc) goto ret1;
+
memcpy(bmihc,&bmih,sizeof(bmih));
longsperline = ((width*bitsperpixel+31)&~0x1f)>>5;
bmihc->biSizeImage = (longsperline*height)<<2;
@@ -1962,8 +1966,11 @@ HIMAGELIST WINAPI ImageList_Read (LPSTRE
#endif
hbmColor = _read_bitmap(pstm,ilHead.flags & ~ILC_MASK,ilHead.cx,ilHead.cy);
- if (!hbmColor)
+ if (!hbmColor) {
+ WARN("failed to read bitmap from stream\n");
return NULL;
+ }
+
if (ilHead.flags & ILC_MASK) {
hbmMask = _read_bitmap(pstm,0,ilHead.cx,ilHead.cy);
if (!hbmMask) {
More information about the wine-patches
mailing list