X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=winboard%2Fwinboard.c;h=4d823eb125a4bbc97d9396f5f9d383b53f307a2c;hb=2b59fb6b9575ad038bae89a48063084c8b3243a9;hp=07e4bd20de7e04c3641a3cffe5a0be6e8bb6246d;hpb=d39b0224115daf24fa2608e27d0ca16c8cd4aa70;p=xboard.git diff --git a/winboard/winboard.c b/winboard/winboard.c index 07e4bd2..4d823eb 100644 --- a/winboard/winboard.c +++ b/winboard/winboard.c @@ -73,6 +73,7 @@ #include #include #include +#include #if __GNUC__ #include @@ -3842,11 +3843,11 @@ HDCDrawPosition(HDC hdc, BOOLEAN repaint, Board board) boardRect.bottom - boardRect.top, tmphdc, boardRect.left, boardRect.top, SRCCOPY); if(saveDiagFlag) { - BITMAP b; int i, j=0, m, w, wb, fac=0; char pData[1000000]; + BITMAP b; int i, j=0, m, w, wb, fac=0; char *pData; BITMAPINFOHEADER bih; int color[16], nrColors=0; GetObject(bufferBitmap, sizeof(b), &b); - if(b.bmWidthBytes*b.bmHeight <= 990000) { + if(pData = malloc(b.bmWidthBytes*b.bmHeight + 10000)) { bih.biSize = sizeof(BITMAPINFOHEADER); bih.biWidth = b.bmWidth; bih.biHeight = b.bmHeight; @@ -3910,6 +3911,7 @@ HDCDrawPosition(HDC hdc, BOOLEAN repaint, Board board) // write bitmap data for(i=0; i