[xorg-x11-server/f14] xserver-1.10.1-memcpy-abuse.patch: Fix memcpy abuse. (#730797)

Adam Jackson ajax at fedoraproject.org
Thu Oct 13 14:17:25 UTC 2011


commit ad61bfcd78d4c14d23de12c0543ffe5e457e36e1
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Oct 13 10:17:23 2011 -0400

    xserver-1.10.1-memcpy-abuse.patch: Fix memcpy abuse. (#730797)

 xorg-x11-server.spec              |    7 +++++-
 xserver-1.10.1-memcpy-abuse.patch |   44 +++++++++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 1 deletions(-)
---
diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec
index 0296145..e0b7455 100644
--- a/xorg-x11-server.spec
+++ b/xorg-x11-server.spec
@@ -30,7 +30,7 @@
 Summary:   X.Org X11 X server
 Name:      xorg-x11-server
 Version:   1.9.5
-Release:   1%{?gitdate:.%{gitdate}}%{dist}
+Release:   2%{?gitdate:.%{gitdate}}%{dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X
@@ -107,6 +107,8 @@ Patch7005: xserver-1.9.0-qxl-fallback.patch
 # http://patchwork.freedesktop.org/patch/3653/
 Patch7007: xserver-1.9.99.901-xkb-repeat-issues.patch
 
+Patch7008: xserver-1.10.1-memcpy-abuse.patch
+
 %define moduledir	%{_libdir}/xorg/modules
 %define drimoduledir	%{_libdir}/dri
 %define sdkdir		%{_includedir}/xorg
@@ -571,6 +573,9 @@ rm -rf $RPM_BUILD_ROOT
 %{xserver_source_dir}
 
 %changelog
+* Thu Oct 13 2011 Adam Jackson <ajax at redhat.com> 1.9.5-2
+- xserver-1.10.1-memcpy-abuse.patch: Fix memcpy abuse. (#730797)
+
 * Fri Mar 18 2011 Peter Hutterer <peter.hutterer at redhat.com> 1.9.5-1
 - xserver 1.9.5
 - xserver-1.6.99-default-modes.patch: drop, 11bf10e22cefe
diff --git a/xserver-1.10.1-memcpy-abuse.patch b/xserver-1.10.1-memcpy-abuse.patch
new file mode 100644
index 0000000..e3b1b97
--- /dev/null
+++ b/xserver-1.10.1-memcpy-abuse.patch
@@ -0,0 +1,44 @@
+From f24c4b2e3803f2b0e4eb7de5288756c4f9758ad5 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax at redhat.com>
+Date: Thu, 21 Apr 2011 16:41:14 -0400
+Subject: [PATCH] fb: fix memcpy abuse
+
+Signed-off-by: Adam Jackson <ajax at redhat.com>
+---
+ fb/fbblt.c |    9 +++++++--
+ 1 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/fb/fbblt.c b/fb/fbblt.c
+index 38271c0..980ad5a 100644
+--- a/fb/fbblt.c
++++ b/fb/fbblt.c
+@@ -65,6 +65,7 @@ fbBlt (FbBits   *srcLine,
+     int	    n, nmiddle;
+     Bool    destInvarient;
+     int	    startbyte, endbyte;
++    int     careful;
+     FbDeclareMergeRop ();
+ 
+ #ifdef FB_24BIT
+@@ -76,12 +77,16 @@ fbBlt (FbBits   *srcLine,
+     }
+ #endif
+ 
+-    if (alu == GXcopy && pm == FB_ALLONES && !reverse &&
++    careful = !((srcLine < dstLine && srcLine + width * (bpp/8) > dstLine) ||
++                (dstLine < srcLine && dstLine + width * (bpp/8) > srcLine)) ||
++              (bpp % 8);
++
++    if (alu == GXcopy && pm == FB_ALLONES && !careful &&
+             !(srcX & 7) && !(dstX & 7) && !(width & 7)) {
+         int i;
+         CARD8 *src = (CARD8 *) srcLine;
+         CARD8 *dst = (CARD8 *) dstLine;
+-        
++
+         srcStride *= sizeof(FbBits);
+         dstStride *= sizeof(FbBits);
+         width >>= 3;
+-- 
+1.7.4.4
+


More information about the scm-commits mailing list