mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
merge
This commit is contained in:
@ -1057,6 +1057,13 @@ NULL
|
|||||||
SELECT Polygon(12345123,'');
|
SELECT Polygon(12345123,'');
|
||||||
Polygon(12345123,'')
|
Polygon(12345123,'')
|
||||||
NULL
|
NULL
|
||||||
|
#
|
||||||
|
# BUG#51875: crash when loading data into geometry function polyfromwkb
|
||||||
|
#
|
||||||
|
SET @a=0x00000000030000000100000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440;
|
||||||
|
SET @a=POLYFROMWKB(@a);
|
||||||
|
SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440;
|
||||||
|
SET @a=POLYFROMWKB(@a);
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
CREATE TABLE t1(
|
CREATE TABLE t1(
|
||||||
col0 BINARY NOT NULL,
|
col0 BINARY NOT NULL,
|
||||||
|
@ -725,6 +725,16 @@ SELECT Polygon(123451,'');
|
|||||||
SELECT Polygon(1234512,'');
|
SELECT Polygon(1234512,'');
|
||||||
SELECT Polygon(12345123,'');
|
SELECT Polygon(12345123,'');
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # BUG#51875: crash when loading data into geometry function polyfromwkb
|
||||||
|
--echo #
|
||||||
|
SET @a=0x00000000030000000100000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440;
|
||||||
|
SET @a=POLYFROMWKB(@a);
|
||||||
|
SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440;
|
||||||
|
SET @a=POLYFROMWKB(@a);
|
||||||
|
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -511,7 +511,7 @@ uint Gis_line_string::init_from_wkb(const char *wkb, uint len,
|
|||||||
n_points= wkb_get_uint(wkb, bo);
|
n_points= wkb_get_uint(wkb, bo);
|
||||||
proper_length= 4 + n_points * POINT_DATA_SIZE;
|
proper_length= 4 + n_points * POINT_DATA_SIZE;
|
||||||
|
|
||||||
if (len < proper_length || res->reserve(proper_length))
|
if (!n_points || len < proper_length || res->reserve(proper_length))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
res->q_append(n_points);
|
res->q_append(n_points);
|
||||||
@ -729,7 +729,9 @@ uint Gis_polygon::init_from_wkb(const char *wkb, uint len, wkbByteOrder bo,
|
|||||||
if (len < 4)
|
if (len < 4)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
n_linear_rings= wkb_get_uint(wkb, bo);
|
if (!(n_linear_rings= wkb_get_uint(wkb, bo)))
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (res->reserve(4, 512))
|
if (res->reserve(4, 512))
|
||||||
return 0;
|
return 0;
|
||||||
wkb+= 4;
|
wkb+= 4;
|
||||||
|
Reference in New Issue
Block a user