[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