Package: release.debian.org
Severity: normal
User: release.debian.org@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 <jcristau@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