luis lenders lgvlenders@yahoo.co.uk writes:
Index: wine/dlls/msvideo/drawdib.c
RCS file: /home/wine/wine/dlls/msvideo/drawdib.c,v retrieving revision 1.24 diff -u -p -r1.24 drawdib.c --- wine/dlls/msvideo/drawdib.c 17 Jan 2005 15:33:43 -0000 1.24 +++ wine/dlls/msvideo/drawdib.c 24 May 2005 19:09:28 -0000 @@ -242,7 +242,10 @@ BOOL VFWAPI DrawDibBegin(HDRAWDIB hdd, TRACE("Not compressed!\n"); dwSize = lpbi->biSize + num_colours(lpbi)*sizeof(RGBQUAD); whdd->lpbiOut = HeapAlloc(GetProcessHeap(), 0, dwSize);
memcpy(whdd->lpbiOut, lpbi, dwSize);
if (whdd->lpbiOut)
memcpy(whdd->lpbiOut, lpbi, dwSize);
else
ret=FALSE;
Sounds like we need a check that the number of colors is reasonable. The HeapAlloc shouldn't normally fail except if the size is bogus.