[Xorg-commit] xc/programs/Xserver/hw/xwin winmultiwindowicons.c,1.1,1.1.6.1
Harold L Hunt II
xorg-commit at pdx.freedesktop.org
Wed Jan 28 00:52:51 EET 2004
Committed by: harold
Update of /cvs/xorg/xc/programs/Xserver/hw/xwin
In directory pdx:/tmp/cvs-serv10573
Modified Files:
Tag: CYGWIN
winmultiwindowicons.c
Log Message:
Add check for return from malloc and test that calculated strides are not zero.
Index: winmultiwindowicons.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xwin/winmultiwindowicons.c,v
retrieving revision 1.1
retrieving revision 1.1.6.1
diff -u -d -r1.1 -r1.1.6.1
--- winmultiwindowicons.c 25 Nov 2003 19:28:56 -0000 1.1
+++ winmultiwindowicons.c 27 Jan 2004 22:52:49 -0000 1.1.6.1
@@ -84,12 +84,22 @@
/* Need 32-bit aligned rows */
stride = ((iconSize * effBPP + 31) & (~31)) / 8;
- xStride = ((pixmap->drawable.width * effXBPP + 31) & (~31)) / 8;
-
+ xStride = ((pixmap->drawable.width * effXBPP + 31) & (~31)) / 8;
+ if (stride == 0 || xStride == 0)
+ {
+ ErrorF ("winScaleXBitmapToWindows - stride or xStride is zero. "
+ "Bailing.\n");
+ return;
+ }
+
+ /* Allocate memory for icon data */
iconData = malloc (xStride * pixmap->drawable.height);
- miGetImage ((DrawablePtr) &(pixmap->drawable), 0, 0,
- pixmap->drawable.width, pixmap->drawable.height,
- ZPixmap, 0xffffffff, iconData);
+ if (!iconData)
+ {
+ ErrorF ("winScaleXBitmapToWindows - malloc failed for iconData. "
+ "Bailing.\n");
+ return;
+ }
/* Keep aspect ratio */
factX = ((float)pixmap->drawable.width) / ((float)iconSize);
More information about the xorg-commit
mailing list