summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <svoj@mysql.com/april.(none)>2006-10-11 20:34:20 +0500
committerunknown <svoj@mysql.com/april.(none)>2006-10-11 20:34:20 +0500
commit31754c57bd388b57c57c68df0c763af6a3bd7216 (patch)
treebb740a1ca19c29e28a0ff0718be43c9715a824a0 /sql
parent6abdffe4f6c55ce53efa73167b15be1e33769673 (diff)
downloadmariadb-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.cc2
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;