From: Raúl Marín Rodríguez Date: Mon, 1 Oct 2018 15:55:50 +0000 (+0000) Subject: Avoid division by zero in kmeans X-Git-Tag: 2.5.1~34 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=af8e22df916220ec480939ad562b60ee064e5472;p=postgis Avoid division by zero in kmeans References #4188 git-svn-id: http://svn.osgeo.org/postgis/branches/2.5@16859 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/NEWS b/NEWS index d2a409a6d..118b6ad7b 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ XXXX/XX/XX * Bug fixes * - #4183, St_AsMVTGeom: Drop invalid geometries after simplification (Raúl Marín) + - #4188, Avoid division by zero in kmeans (Raúl Marín) PostGIS 2.5.0 2018/09/23 diff --git a/liblwgeom/lwkmeans.c b/liblwgeom/lwkmeans.c index a171f28f3..cbcb28f94 100644 --- a/liblwgeom/lwkmeans.c +++ b/liblwgeom/lwkmeans.c @@ -85,8 +85,11 @@ update_means(POINT2D** objs, int* clusters, uint32_t n, POINT2D** centers, uint3 } for (i = 0; i < k; i++) { - centers[i]->x /= weights[i]; - centers[i]->y /= weights[i]; + if (weights[i]) + { + centers[i]->x /= weights[i]; + centers[i]->y /= weights[i]; + } } }