xserver: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Wed Nov 10 14:55:54 PST 2010


 mi/miwideline.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit be7cf14c365c8ee0d69c4335e01316bcfcba69a4
Author: Siddhesh Poyarekar <siddhesh.poyarekar at gmail.com>
Date:   Tue Oct 26 09:11:53 2010 +0530

    mi: Integer overflow for dashed lines longer than 46340. #31093
    
    Lines of length greater than 46340 can be drawn with one of the
    coordinates being negative. However for dashed lines, miPolyBuildPoly
    overflows the int type when setting up edges for a section of the
    dashed line. This results in the dashed segments not being drawn at
    all.
    
    Signed-off-by: Siddhesh Poyarekar <siddhesh.poyarekar at gmail.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/mi/miwideline.c b/mi/miwideline.c
index b11b40b..bc5ee74 100644
--- a/mi/miwideline.c
+++ b/mi/miwideline.c
@@ -403,7 +403,7 @@ miPolyBuildPoly (
     i = top;
     j = StepAround (top, -1, count);
 
-    if (slopes[j].dy * slopes[i].dx > slopes[i].dy * slopes[j].dx)
+    if ((int64_t)slopes[j].dy * slopes[i].dx > (int64_t)slopes[i].dy * slopes[j].dx)
     {
 	clockwise = -1;
 	slopeoff = -1;


More information about the xorg-commit mailing list