]> granicus.if.org Git - postgis/commitdiff
Avoid division by zero in kmeans
authorRaúl Marín Rodríguez <rmrodriguez@carto.com>
Mon, 1 Oct 2018 15:55:50 +0000 (15:55 +0000)
committerRaúl Marín Rodríguez <rmrodriguez@carto.com>
Mon, 1 Oct 2018 15:55:50 +0000 (15:55 +0000)
References #4188

git-svn-id: http://svn.osgeo.org/postgis/branches/2.5@16859 b70326c6-7e19-0410-871a-916f4a2858ee

NEWS
liblwgeom/lwkmeans.c

diff --git a/NEWS b/NEWS
index d2a409a6d8a4403f1780395f30143c4e2df4b8d2..118b6ad7be2dd7f8813fca264af2d444d0795cf6 100644 (file)
--- 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
index a171f28f3267b2202b46a4cb4c64d0f94bfacc45..cbcb28f94cc61e60eeeba0fd7ebec29d1de33628 100644 (file)
@@ -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];
+               }
        }
 }