Module Name: xsrc Committed By: snj Date: Mon Jan 2 23:47:56 UTC 2012
Modified Files: xsrc/xfree/xc/programs/Xserver/fb [netbsd-5]: fbpict.c xsrc/xfree/xc/programs/Xserver/mi [netbsd-5]: miarc.c misprite.c Log Message: Pull up following revision(s) (requested by is in ticket #1707): xfree/xc/programs/Xserver/mi/misprite.c: revision 1.2 xfree/xc/programs/Xserver/mi/miarc.c: revision 1.2 xfree/xc/programs/Xserver/fb/fbpict.c: revision 1.5 This fix is taken from xorg-server 1.9.2. mod(a,b) used to be defined with a - in front of naked a, such that uses of mod with certain arithmetic expressions as a led to surprising results, namely the one in Xrender praised in CVE-2010-1166. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.4.2.1 xsrc/xfree/xc/programs/Xserver/fb/fbpict.c cvs rdiff -u -r1.1.1.5 -r1.1.1.5.20.1 \ xsrc/xfree/xc/programs/Xserver/mi/miarc.c cvs rdiff -u -r1.1.1.5 -r1.1.1.5.22.1 \ xsrc/xfree/xc/programs/Xserver/mi/misprite.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: xsrc/xfree/xc/programs/Xserver/fb/fbpict.c diff -u xsrc/xfree/xc/programs/Xserver/fb/fbpict.c:1.4 xsrc/xfree/xc/programs/Xserver/fb/fbpict.c:1.4.2.1 --- xsrc/xfree/xc/programs/Xserver/fb/fbpict.c:1.4 Sat Apr 19 19:00:39 2008 +++ xsrc/xfree/xc/programs/Xserver/fb/fbpict.c Mon Jan 2 23:47:56 2012 @@ -908,7 +908,7 @@ fbCompositeSolidMask_nx1xn (CARD8 o 0x0); } -# define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-a) % (b)) +# define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-(a)) % (b)) void fbComposite (CARD8 op, Index: xsrc/xfree/xc/programs/Xserver/mi/miarc.c diff -u xsrc/xfree/xc/programs/Xserver/mi/miarc.c:1.1.1.5 xsrc/xfree/xc/programs/Xserver/mi/miarc.c:1.1.1.5.20.1 --- xsrc/xfree/xc/programs/Xserver/mi/miarc.c:1.1.1.5 Fri Mar 5 14:29:39 2004 +++ xsrc/xfree/xc/programs/Xserver/mi/miarc.c Mon Jan 2 23:47:56 2012 @@ -1554,7 +1554,7 @@ miRoundCap( # define Dsin(d) ((d) == 0.0 ? 0.0 : ((d) == 90.0 ? 1.0 : sin(d*M_PI/180.0))) # define Dcos(d) ((d) == 0.0 ? 1.0 : ((d) == 90.0 ? 0.0 : cos(d*M_PI/180.0))) -# define mod(a,b) ((a) >= 0 ? (a) % (b) : (b) - (-a) % (b)) +# define mod(a,b) ((a) >= 0 ? (a) % (b) : (b) - (-(a)) % (b)) static double miDcos (double a) Index: xsrc/xfree/xc/programs/Xserver/mi/misprite.c diff -u xsrc/xfree/xc/programs/Xserver/mi/misprite.c:1.1.1.5 xsrc/xfree/xc/programs/Xserver/mi/misprite.c:1.1.1.5.22.1 --- xsrc/xfree/xc/programs/Xserver/mi/misprite.c:1.1.1.5 Fri Feb 28 13:20:27 2003 +++ xsrc/xfree/xc/programs/Xserver/mi/misprite.c Mon Jan 2 23:47:56 2012 @@ -1978,7 +1978,7 @@ miSpriteLineHelper() #ifdef RENDER -# define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-a) % (b)) +# define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-(a)) % (b)) static void miSpritePictureOverlap (PicturePtr pPict,