diff options
author | unknown <gkodinov/kgeorge@magare.gmz[kgeorge]> | 2007-03-26 13:17:40 +0300 |
---|---|---|
committer | unknown <gkodinov/kgeorge@magare.gmz[kgeorge]> | 2007-03-26 13:17:40 +0300 |
commit | 3335f68d8902fdbbebb2c41d09253a4cafe675bb (patch) | |
tree | 08da49132f3c350c9a4235951b7913751c075156 /mysql-test/r/gis.result | |
parent | 55f991c24d584d57d21fd780f0e51fceb5e2321a (diff) | |
download | mariadb-git-3335f68d8902fdbbebb2c41d09253a4cafe675bb.tar.gz |
Bug #27164: not reseting the data pointer
to 0 causes wrong (large) length to be read
from the row in _mi_calc_blob_length() when
storing NULL values in (e.g) POINT columns.
This large length is then used to allocate
a block of memory that (on some OSes) causes
trouble.
Fixed by calling the base class's
Field_blob::reset() from Field_geom::reset()
that is called when storing a NULL value into
the column.
mysql-test/r/gis.result:
Bug #27164: test case
mysql-test/t/gis.test:
Bug #27164: test case
sql/field.h:
Bug #27164: not reseting the data pointer
to 0 causes wrong (large) length to be read
from the row in _mi_calc_blob_length() when
storing NULL values in (e.g) POINT columns.
This large length is then used to allocate
a block of memory that (on some OSes) causes
trouble.
Diffstat (limited to 'mysql-test/r/gis.result')
-rw-r--r-- | mysql-test/r/gis.result | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result index de7e44ed7b2..643a3d6b434 100644 --- a/mysql-test/r/gis.result +++ b/mysql-test/r/gis.result @@ -718,4 +718,10 @@ point(b, b) IS NULL linestring(b) IS NULL polygon(b) IS NULL multipoint(b) IS NU 1 1 1 1 1 1 1 0 1 1 1 1 1 1 drop table t1; +CREATE TABLE t1(a POINT) ENGINE=MyISAM; +INSERT INTO t1 VALUES (NULL); +SELECT * FROM t1; +a +NULL +DROP TABLE t1; End of 4.1 tests |