tags 322550 + patch
thanks

On Thu, Aug 11, 2005 at 14:12:35 -0400, Michel Dänzer wrote:

> 
> This could be a fix for this bug.
> 

Hi,

David, is the attached patch acceptable for the 6.9 branch?

Cheers,
Julien Cristau
Index: debian/patches/series
===================================================================
--- debian/patches/series       (revision 650)
+++ debian/patches/series       (working copy)
@@ -1,3 +1,4 @@
+general/000_backport_from_HEAD.diff -p0
 general/000_backport_from_author_xterm.diff -p0
 general/000_stolen_from_linuxwacom_wacom_driver.diff -p0
 general/001_kernel_version_in_banner.diff -p0
Index: debian/patches/general/000_backport_from_HEAD.diff
===================================================================
--- debian/patches/general/000_backport_from_HEAD.diff  (revision 0)
+++ debian/patches/general/000_backport_from_HEAD.diff  (revision 0)
@@ -0,0 +1,62 @@
+$Id$
+
+Thu Aug 11 11:43:32 2005  SÞren Sandmann  <[EMAIL PROTECTED]>
+
+      * programs/Xserver/hw/xfree86/xaa/xaaTEText.c
+      (XAAGlyphBltTEColorExpansion): Make sure we don't
+      crash on glyphs with NULL bits. Bug 659.
+
+Index: xc/programs/Xserver/hw/xfree86/xaa/xaaTEText.c
+===================================================================
+--- xc/programs/Xserver/hw/xfree86/xaa/xaaTEText.c.orig        2005-09-30 
16:27:39.000000000 +0200
++++ xc/programs/Xserver/hw/xfree86/xaa/xaaTEText.c     2005-09-30 
20:46:44.000000000 +0200
+@@ -253,6 +253,7 @@
+       RightEdge = min(Right, pbox->x2);
+ 
+       if(RightEdge > LeftEdge) {      /* we have something to draw */
++          unsigned int *fallbackBits = NULL;
+           ytop = max(Top, pbox->y1);
+           ybot = min(Bottom, pbox->y2);
+           
+@@ -265,9 +266,22 @@
+               int count;
+               glyphs = (unsigned int**)(infoRec->PreAllocMem);
+ 
+-              for(count = 0; count < nglyph; count++) 
++              for(count = 0; count < nglyph; count++) {
+                       glyphs[count] = (unsigned int*) 
+                               FONTGLYPHBITS(gBase,*ppci++);
++                      if (!glyphs[count]) {
++                          /* Glyphs with NULL bits do exist in the wild.
++                             Replace with blank bits in that case */
++                          
++                          if (!fallbackBits) {
++                              int fontHeight = Bottom - Top + 1;
++                              fallbackBits = xcalloc (glyphWidth * 
fontHeight, 1);
++                              if (!fallbackBits)
++                                  return;
++                          }
++                          glyphs[count] = fallbackBits;
++                      }
++              }
+ 
+               /* our new unrolled TE code only writes DWORDS at a time 
+                  so it can read up to 6 characters past the last one 
+@@ -280,12 +294,15 @@
+               glyphs[count + 5] = glyphs[0];
+           }
+ 
+-   /* x, y, w, h, skipleft, skiptop, glyphp, glyphWidth, fg, bg, rop, pm */
++    /* x, y, w, h, skipleft, skiptop, glyphp, glyphWidth, fg, bg, rop, pm */
+ 
+           (*infoRec->TEGlyphRenderer)( pScrn, 
+               LeftEdge, ytop, RightEdge - LeftEdge, ybot - ytop, 
+               skippix, ytop - Top, glyphs + skipglyphs, glyphWidth, 
+-              fg, bg, rop, planemask); 
++              fg, bg, rop, planemask);
++
++          if (fallbackBits)
++              xfree (fallbackBits);
+       }
+ 
+       nbox--; pbox++;

Property changes on: debian/patches/general/000_backport_from_HEAD.diff
___________________________________________________________________
Name: svn:keywords
   + Id

Index: debian/changelog
===================================================================
--- debian/changelog    (revision 650)
+++ debian/changelog    (working copy)
@@ -1,5 +1,6 @@
 xorg-x11 (6.8.99.900.dfsg.1-0pre2) UNRELEASED; urgency=low
 
+  [ David Nusinow ]
   * MANIFEST updates for the following
     + amd64 (Thanks Ari Pollak)
     + powerpc (Thanks Sven Luther)
@@ -21,8 +22,13 @@
     statically linked server to only shipping the debugging symbols in that
     package.
 
- -- David Nusinow <[EMAIL PROTECTED]>  Thu, 29 Sep 2005 21:43:25 -0400
+  [ Julien Cristau ]
+  * Add patch by SÞren Sandmann to fix crash on fonts will NULL bits, stolen
+  from CVS HEAD. Thanks to Michel DÀnzer for pointing us to the fix.
+  (Closes: #322550)
 
+ -- Julien Cristau <[EMAIL PROTECTED]>  Fri, 30 Sep 2005 20:58:08 +0200
+
 xorg-x11 (6.8.99.900.dfsg.1-0pre1) experimental; urgency=low
 
   [ David Nusinow ]

Reply via email to