Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: pu

(x-debbugs-cc to 678565@bugs.d.o)

Hi,

Simon McVittie reported a crash in the intel driver, and tracked down
the fix in the upstream tree.  The patch is simple and applies cleanly.
debdiff follows, modulo dch -r.

diff --git a/debian/changelog b/debian/changelog
index b1719a3..7f85d32 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+xserver-xorg-video-intel (2:2.13.0-7) UNRELEASED; urgency=low
+
+  * Cherry-pick from upstream:
+    - uxa/glyphs: Fallback instead of crashing on large strings
+    Thanks to Simon McVittie for tracking this down (closes: #678565)
+
+ -- Julien Cristau <jcris...@debian.org>  Sat, 30 Jun 2012 12:49:00 +0200
+
 xserver-xorg-video-intel (2:2.13.0-6) stable; urgency=low
 
   * Cherry-pick from upstream:
diff --git a/uxa/uxa-glyphs.c b/uxa/uxa-glyphs.c
index ad4f387..da765f6 100644
--- a/uxa/uxa-glyphs.c
+++ b/uxa/uxa-glyphs.c
@@ -934,6 +934,11 @@ uxa_glyphs_via_mask(CARD8 op,
        if (!pixmap)
                return 1;
 
+       if (!uxa_pixmap_is_offscreen(pixmap)) {
+               screen->DestroyPixmap(pixmap);
+               return -1;
+       }
+
        uxa_clear_pixmap(screen, uxa_screen, pixmap);
 
        component_alpha = NeedsComponent(maskFormat->format);
@@ -1126,6 +1131,11 @@ fallback:
                if (!pixmap)
                        return;
 
+               if (!uxa_pixmap_is_offscreen(pixmap)) {
+                       screen->DestroyPixmap(pixmap);
+                       goto fallback;
+               }
+
                gc = GetScratchGC(depth, screen);
                if (!gc) {
                        screen->DestroyPixmap(pixmap);

Cheers,
Julien

Attachment: signature.asc
Description: Digital signature

Reply via email to