[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