From de8f14a8e41bf5e01714539cbcd3de16d546ce6c Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Fri, 30 Sep 2022 23:25:02 +0200 Subject: [PATCH] * src/psaux/pshints.c (cf2_hintmap_insertHint): Fix midpoint computation. Replace '(start + end) / 2' with 'start + (end - start) / 2' to avoid overflow. Fixes #1180. --- src/psaux/pshints.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/psaux/pshints.c b/src/psaux/pshints.c index 991204c84..6f44d0adb 100644 --- a/src/psaux/pshints.c +++ b/src/psaux/pshints.c @@ -693,8 +693,10 @@ CF2_Fixed midpoint = cf2_hintmap_map( hintmap->initialHintMap, - ADD_INT32( secondHintEdge->csCoord, - firstHintEdge->csCoord ) / 2 ); + ADD_INT32( + firstHintEdge->csCoord, + SUB_INT32 ( secondHintEdge->csCoord, + firstHintEdge->csCoord ) / 2 ) ); CF2_Fixed halfWidth = FT_MulFix( SUB_INT32( secondHintEdge->csCoord, firstHintEdge->csCoord ) / 2,