e20d4ef
diff -up xorg-x11-6.8.2/xc/programs/Xserver/dix/dixfonts.c.jx xorg-x11-6.8.2/xc/programs/Xserver/dix/dixfonts.c
e20d4ef
--- xorg-x11-6.8.2/xc/programs/Xserver/dix/dixfonts.c.jx	2004-04-23 15:04:44.000000000 -0400
e20d4ef
+++ xorg-x11-server/dix/dixfonts.c	2008-01-14 11:15:00.000000000 -0500
e20d4ef
@@ -339,6 +339,13 @@ doOpenFont(ClientPtr client, OFclosurePt
e20d4ef
 	err = BadFontName;
e20d4ef
 	goto bail;
e20d4ef
     }
e20d4ef
+    /* check values for firstCol, lastCol, firstRow, and lastRow */
e20d4ef
+    if (pfont->info.firstCol > pfont->info.lastCol ||
e20d4ef
+	pfont->info.firstRow > pfont->info.lastRow ||
e20d4ef
+	pfont->info.lastCol - pfont->info.firstCol > 255) {
e20d4ef
+	err = AllocError;
e20d4ef
+	goto bail;
e20d4ef
+    }
e20d4ef
     if (!pfont->fpe)
e20d4ef
 	pfont->fpe = fpe;
e20d4ef
     pfont->refcnt++;