From be7cf14c365c8ee0d69c4335e01316bcfcba69a4 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Tue, 26 Oct 2010 09:11:53 +0530 Subject: [PATCH] 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 Reviewed-by: Keith Packard Signed-off-by: Keith Packard --- mi/miwideline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mi/miwideline.c b/mi/miwideline.c index b11b40bd2..bc5ee74c2 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;