Fixed ASAN heap-use-after-free handler::ha_index_or_rnd_end

MDEV-16123 ASAN heap-use-after-free handler::ha_index_or_rnd_end
MDEV-13828 Segmentation fault on RENAME TABLE

Problem was that destructor called methods for closed table.
Fixed by removing code in destructor.
This commit is contained in:
Monty 2018-05-23 11:26:49 +03:00
parent 908676dfd9
commit a816aa066e
3 changed files with 26 additions and 1 deletions

View File

@ -0,0 +1,6 @@
CREATE TABLE t1 (i int);
RENAME TABLE t1 TO t2;
FLUSH TABLES;
DROP TABLE IF EXISTS t1, t2;
Warnings:
Note 1051 Unknown table 'test.t1'

View File

@ -0,0 +1,18 @@
#
# MDEV-16123 ASAN heap-use-after-free handler::ha_index_or_rnd_end
# MDEV-13828 Segmentation fault on RENAME TABLE
#
CREATE TABLE t1 (i int);
--connect (con1,localhost,root,,test)
--send
RENAME TABLE t1 TO t2;
--connection default
FLUSH TABLES;
--connection con1
--reap
# Cleanup
--disconnect con1
--connection default
DROP TABLE IF EXISTS t1, t2;

View File

@ -1376,7 +1376,8 @@ public:
~Stat_table_write_iter()
{
cleanup();
/* Ensure that cleanup has been run */
DBUG_ASSERT(rowid_buf == 0);
}
};