diff options
author | unknown <svoj@mysql.com/april.(none)> | 2006-10-11 20:34:20 +0500 |
---|---|---|
committer | unknown <svoj@mysql.com/april.(none)> | 2006-10-11 20:34:20 +0500 |
commit | 31754c57bd388b57c57c68df0c763af6a3bd7216 (patch) | |
tree | bb740a1ca19c29e28a0ff0718be43c9715a824a0 /sql | |
parent | 6abdffe4f6c55ce53efa73167b15be1e33769673 (diff) | |
download | mariadb-git-31754c57bd388b57c57c68df0c763af6a3bd7216.tar.gz |
BUG#22562 - REPAIR TABLE .. USE_FRM causes server crash on Windows and server
hangs on Linux
If REPAIR TABLE ... USE_FRM is issued for table that is located in different
than default database server crash could happen.
In reopen_name_locked_table take database name from table_list (user specified
or default database) instead of from thd (default database).
Affects 4.1 only.
mysql-test/r/repair.result:
A test case for BUG#22562.
mysql-test/t/repair.test:
A test case for BUG#22562.
sql/sql_base.cc:
In reopen_name_locked_table take database name from table_list (user specified
or default database) instead of from thd (default database).
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_base.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 0a9529d6067..561d75a765e 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -821,7 +821,7 @@ TABLE *reopen_name_locked_table(THD* thd, TABLE_LIST* table_list) if (!(table = table_list->table)) DBUG_RETURN(0); - char* db = thd->db ? thd->db : table_list->db; + char *db= table_list->db; char* table_name = table_list->real_name; char key[MAX_DBKEY_LENGTH]; uint key_length; |