diff options
-rw-r--r-- | mysql-test/t/bootstrap.test | 9 | ||||
-rw-r--r-- | sql/sql_base.cc | 8 |
2 files changed, 10 insertions, 7 deletions
diff --git a/mysql-test/t/bootstrap.test b/mysql-test/t/bootstrap.test index 2930d936830..5494a2d4154 100644 --- a/mysql-test/t/bootstrap.test +++ b/mysql-test/t/bootstrap.test @@ -66,4 +66,13 @@ SELECT 'bug' as '' FROM INFORMATION_SCHEMA.ENGINES WHERE engine='innodb' --error 1 --exec $MYSQLD_BOOTSTRAP_CMD --myisam_recover_options=NONE +# +# MDEV-19349 mysql_install_db: segfault at tmp_file_prefix check +# +--write_file $MYSQLTEST_VARDIR/tmp/1 +use test; +EOF +--exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/1 >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1 +--remove_file $MYSQLTEST_VARDIR/tmp/1 + --echo End of 5.5 tests diff --git a/sql/sql_base.cc b/sql/sql_base.cc index c774334e695..c7e356cd09e 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -9301,13 +9301,7 @@ my_bool mysql_rm_tmp_tables(void) { file=dirp->dir_entry+idx; - /* skiping . and .. */ - if (file->name[0] == '.' && (!file->name[1] || - (file->name[1] == '.' && !file->name[2]))) - continue; - - if (!memcmp(file->name, tmp_file_prefix, - tmp_file_prefix_length)) + if (!strncmp(file->name, tmp_file_prefix, tmp_file_prefix_length)) { char *ext= fn_ext(file->name); uint ext_len= strlen(ext); |