MDEV-5029 Crash in MariaDB 5.5.33 with .frm from older MariaDB release

Don't fail when an frm is inconsistent (legacy DB_TYPE_xxx code doesn't match the
engine name), use the engine name, ignore the legacy code.
This commit is contained in:
Sergei Golubchik 2013-09-18 17:25:10 +02:00
commit f89e6c442c
7 changed files with 25 additions and 2 deletions

View file

@ -1093,7 +1093,10 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head,
plugin_data(tmp_plugin, handlerton *)))
{
/* bad file, legacy_db_type did not match the name */
goto err;
sql_print_warning("%s.frm is inconsistent: engine typecode %d, engine name %s (%d)",
share->normalized_path.str, legacy_db_type,
plugin_name(tmp_plugin)->str,
ha_legacy_type(plugin_data(tmp_plugin, handlerton *)));
}
/*
tmp_plugin is locked with a local lock.