summaryrefslogtreecommitdiff
path: root/mysql-test/t/gis.test
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2013-03-06 01:45:25 +0400
committerAlexey Botchkov <holyfoot@askmonty.org>2013-03-06 01:45:25 +0400
commit7fb55ee807937ab78c95cf247747c5711449fc20 (patch)
tree4b8c1eba52e2628adab82a403bba7f434d298fca /mysql-test/t/gis.test
parentab1c228836b81659e859298096ef163dca8117b5 (diff)
downloadmariadb-git-7fb55ee807937ab78c95cf247747c5711449fc20.tar.gz
TODO-424 geometry query crashes server.
The bug was found by Alyssa Milburn. If the number of points of a geometry feature read from binary representation is greater than 0x10000000, then the (uint32) (num_points * 16) will cut the higher byte, which leads to various errors. Fixed by additional check if (num_points > max_n_points).
Diffstat (limited to 'mysql-test/t/gis.test')
-rw-r--r--mysql-test/t/gis.test7
1 files changed, 7 insertions, 0 deletions
diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test
index 188cba004df..190445e9c09 100644
--- a/mysql-test/t/gis.test
+++ b/mysql-test/t/gis.test
@@ -1367,4 +1367,11 @@ create table t1 (pt point);
insert into t1 values(Geomfromtext('POLYGON((1 1, 2 2, 2 1, 1 1))'));
drop table t1;
+--echo #
+--echo # TODO-424 geometry query crashes server
+--echo #
+select astext(0x0100000000030000000100000000000010);
+select st_area(0x0100000000030000000100000000000010);
+select astext(st_exteriorring(0x0100000000030000000100000000000010));
+select astext(st_centroid(0x0100000000030000000100000000000010));
--echo End of 5.5 tests