From 6f65ce9886a022c0e72a7e05f075bafa87b87bf4 Mon Sep 17 00:00:00 2001 From: Julien Cristau <jcristau@debian.org> Date: Tue, 16 Oct 2007 10:03:21 +0200 Subject: [PATCH] Fix 64-bit arithmetic bug in fbFetchTransformed. Add patch by Francis Whittle from upstream bug#12398 (https://bugs.freedesktop.org/attachment.cgi?id=11896) to fix arithmetic bug in fbFetchTransformed (causing X crashes on 64bit); closes: #444457. --- debian/changelog | 8 +++++ .../03_fbFetchTransformed_64bit_fix.diff | 29 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 38 insertions(+) create mode 100644 debian/patches/03_fbFetchTransformed_64bit_fix.diff diff --git a/debian/changelog b/debian/changelog index 533b1c74..a50216cb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +pixman (0.9.5-3) unstable; urgency=low + + * Add patch by Francis Whittle from upstream bug#12398 + (https://bugs.freedesktop.org/attachment.cgi?id=11896) to fix arithmetic + bug in fbFetchTransformed (causing X crashes on 64bit); closes: #444457. + + -- Julien Cristau <jcristau@debian.org> Tue, 16 Oct 2007 09:52:16 +0200 + pixman (0.9.5-2) unstable; urgency=high * High urgency for RC bugfix. diff --git a/debian/patches/03_fbFetchTransformed_64bit_fix.diff b/debian/patches/03_fbFetchTransformed_64bit_fix.diff new file mode 100644 index 00000000..f637dde3 --- /dev/null +++ b/debian/patches/03_fbFetchTransformed_64bit_fix.diff @@ -0,0 +1,29 @@ +Fix 64-bit arithmetic bug. + +This patch by Francis Whittle. + +https://bugs.freedesktop.org/show_bug.cgi?id=12398 +https://bugs.freedesktop.org/attachment.cgi?id=11896 + +Index: pixman/pixman/pixman-compose.c +=================================================================== +--- pixman.orig/pixman/pixman-compose.c 2007-10-16 09:51:39.000000000 +0200 ++++ pixman/pixman/pixman-compose.c 2007-10-16 09:51:54.000000000 +0200 +@@ -3878,7 +3878,7 @@ + idistx = 256 - distx; + idisty = 256 - disty; + +- b = bits + (y1)*stride; ++ b = bits + (signed)((y1)*stride); + x_off = x1; + + x1_out = (x1 < box.x1) | (x1 >= box.x2); +@@ -3944,7 +3944,7 @@ + idistx = 256 - distx; + idisty = 256 - disty; + +- b = bits + (y1)*stride; ++ b = bits + (signed)((y1)*stride); + x_off = x1; + + tl = pixman_region_contains_point(pict->common.src_clip, x1, y1, &box) diff --git a/debian/patches/series b/debian/patches/series index 75d7f88f..4d2d9270 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ 01_maintainer-mode.diff 02_no-sse.diff +03_fbFetchTransformed_64bit_fix.diff -- GitLab