From 0a227ea91664f78ec0046c94e264022d624b63af Mon Sep 17 00:00:00 2001 From: Seth Hillbrand Date: Mon, 20 May 2024 15:00:33 -0700 Subject: [PATCH] Avoid int overflow in collisions When calculating arc collisions, avoid overflowing the integer distance, which gives a false nearest point --- libs/kimath/src/geometry/shape_line_chain.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/kimath/src/geometry/shape_line_chain.cpp b/libs/kimath/src/geometry/shape_line_chain.cpp index e7d2622957..9a832bfc7d 100644 --- a/libs/kimath/src/geometry/shape_line_chain.cpp +++ b/libs/kimath/src/geometry/shape_line_chain.cpp @@ -656,7 +656,7 @@ bool SHAPE_LINE_CHAIN::Collide( const SEG& aSeg, int aClearance, int* aActual, } int dist = 0; - int closest_dist = sqrt( closest_dist_sq ); + SEG::ecoord closest_dist = sqrt( closest_dist_sq ); // Collide arc segments for( size_t i = 0; i < ArcCount(); i++ )