From 15a7335d77d056e860a9fdc844343c840e310e68 Mon Sep 17 00:00:00 2001 From: Alexey Botchkov Date: Tue, 19 Mar 2013 17:16:10 +0400 Subject: MDEV-4296 Assertion `n_linear_rings > 0' fails in Gis_polygon::centroid_xy. Forgotten DBUG_ASSERT should be replaced with the 'return error'. --- sql/spatial.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'sql/spatial.cc') diff --git a/sql/spatial.cc b/sql/spatial.cc index 5a4b768140c..afaa67763e8 100644 --- a/sql/spatial.cc +++ b/sql/spatial.cc @@ -972,13 +972,11 @@ int Gis_polygon::centroid_xy(double *x, double *y) const const char *data= m_data; bool first_loop= 1; - if (no_data(data, 4)) + if (no_data(data, 4) || + (n_linear_rings= uint4korr(data)) == 0) return 1; - n_linear_rings= uint4korr(data); data+= 4; - DBUG_ASSERT(n_linear_rings > 0); - while (n_linear_rings--) { uint32 n_points, org_n_points; -- cgit v1.2.1