summaryrefslogtreecommitdiff
path: root/sql/spatial.cc
diff options
context:
space:
mode:
authorGalina Shalygina <galina.shalygina@mariadb.com>2018-06-01 21:57:10 +0200
committerGalina Shalygina <galina.shalygina@mariadb.com>2018-06-01 21:57:10 +0200
commit6db465d7ce455cf75ec224108cbe61ca8be63d3d (patch)
tree9648ff1fc677eebb60b278c2e2c13131934ed2a0 /sql/spatial.cc
parentffe83e8e7bef32eb2a80aad2d382f0b023dd3a44 (diff)
parent4a49f7f88cfa82ae6eb8e7b5a528e91416b33b52 (diff)
downloadmariadb-git-shagalla-10.4.tar.gz
Merge 10.3.7 into 10.4shagalla-10.4
Diffstat (limited to 'sql/spatial.cc')
-rw-r--r--sql/spatial.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/spatial.cc b/sql/spatial.cc
index 255ba3f0647..a8a70d0763b 100644
--- a/sql/spatial.cc
+++ b/sql/spatial.cc
@@ -406,7 +406,7 @@ Geometry *Geometry::create_from_json(Geometry_buffer *buffer,
key_buf[key_len++]= (uchar)je->s.c_next | 0x20; /* make it lowercase. */
}
- if (je->s.error)
+ if (unlikely(je->s.error))
goto err_return;
if (key_len == type_keyname_len &&
@@ -1956,6 +1956,7 @@ bool Gis_multi_point::init_from_json(json_engine_t *je, bool er_on_3D,
if (je->s.error)
return TRUE;
+
if (n_points == 0)
{
je->s.error= Geometry::GEOJ_EMPTY_COORDINATES;
@@ -2231,6 +2232,7 @@ bool Gis_multi_line_string::init_from_json(json_engine_t *je, bool er_on_3D,
n_line_strings++;
}
+
if (je->s.error)
return TRUE;
@@ -2629,8 +2631,10 @@ bool Gis_multi_polygon::init_from_json(json_engine_t *je, bool er_on_3D,
n_polygons++;
}
+
if (je->s.error)
return TRUE;
+
if (n_polygons == 0)
{
je->s.error= Geometry::GEOJ_EMPTY_COORDINATES;