mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
MDEV-4296 Assertion `n_linear_rings > 0' fails in Gis_polygon::centroid_xy.
Forgotten DBUG_ASSERT should be replaced with the 'return error'.
This commit is contained in:
@@ -1102,4 +1102,10 @@ NULL
|
|||||||
select geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1);
|
select geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1);
|
||||||
geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1)
|
geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1)
|
||||||
NULL
|
NULL
|
||||||
|
#
|
||||||
|
# MDEV-4296 Assertion `n_linear_rings > 0' fails in Gis_polygon::centroid_xy
|
||||||
|
#
|
||||||
|
SELECT Centroid( AsBinary( LineString(Point(0,0), Point(0,0), Point(0,0) )));
|
||||||
|
Centroid( AsBinary( LineString(Point(0,0), Point(0,0), Point(0,0) )))
|
||||||
|
NULL
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
@@ -834,4 +834,9 @@ select envelope(0x0100000000030000000100000000000010);
|
|||||||
select geometryn(0x0100000000070000000100000001030000000200000000000000ffff0000, 1);
|
select geometryn(0x0100000000070000000100000001030000000200000000000000ffff0000, 1);
|
||||||
select geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1);
|
select geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1);
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-4296 Assertion `n_linear_rings > 0' fails in Gis_polygon::centroid_xy
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SELECT Centroid( AsBinary( LineString(Point(0,0), Point(0,0), Point(0,0) )));
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
@@ -972,13 +972,11 @@ int Gis_polygon::centroid_xy(double *x, double *y) const
|
|||||||
const char *data= m_data;
|
const char *data= m_data;
|
||||||
bool first_loop= 1;
|
bool first_loop= 1;
|
||||||
|
|
||||||
if (no_data(data, 4))
|
if (no_data(data, 4) ||
|
||||||
|
(n_linear_rings= uint4korr(data)) == 0)
|
||||||
return 1;
|
return 1;
|
||||||
n_linear_rings= uint4korr(data);
|
|
||||||
data+= 4;
|
data+= 4;
|
||||||
|
|
||||||
DBUG_ASSERT(n_linear_rings > 0);
|
|
||||||
|
|
||||||
while (n_linear_rings--)
|
while (n_linear_rings--)
|
||||||
{
|
{
|
||||||
uint32 n_points, org_n_points;
|
uint32 n_points, org_n_points;
|
||||||
|
Reference in New Issue
Block a user