avoid msvfw32 crash

Alexandre Julliard julliard at winehq.org
Thu May 26 06:46:59 CDT 2005


luis lenders <lgvlenders at 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.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list