[postgis-tickets] r16860 - Avoid division by zero in kmeans

Raul raul at rmr.ninja
Mon Oct 1 08:57:42 PDT 2018


Author: algunenano
Date: 2018-10-01 08:57:42 -0700 (Mon, 01 Oct 2018)
New Revision: 16860

Modified:
   trunk/NEWS
   trunk/liblwgeom/lwkmeans.c
Log:
Avoid division by zero in kmeans

Closes #4188
Closes https://github.com/postgis/postgis/pull/309


Modified: trunk/NEWS
===================================================================
--- trunk/NEWS	2018-10-01 15:55:50 UTC (rev 16859)
+++ trunk/NEWS	2018-10-01 15:57:42 UTC (rev 16860)
@@ -20,6 +20,7 @@
   - #4176, ST_Intersects supports GEOMETRYCOLLECTION (Darafei Praliaskouski)
   - #4181, St_AsMVTGeom: Avoid type changes due to validation (Raúl Marín)
   - #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

Modified: trunk/liblwgeom/lwkmeans.c
===================================================================
--- trunk/liblwgeom/lwkmeans.c	2018-10-01 15:55:50 UTC (rev 16859)
+++ trunk/liblwgeom/lwkmeans.c	2018-10-01 15:57:42 UTC (rev 16860)
@@ -82,8 +82,11 @@
 	}
 	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];
+		}
 	}
 }
 



More information about the postgis-tickets mailing list