diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 7e25ea51823..93724e7edd2 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -7477,10 +7477,9 @@ static void fix_paths(void) (void) my_load_path(mysql_home,mysql_home,""); // Resolve current dir (void) my_load_path(mysql_real_data_home,mysql_real_data_home,mysql_home); (void) my_load_path(pidfile_name,pidfile_name,mysql_real_data_home); - strmake(opt_plugin_dir, get_relative_path(LIBDIR), - sizeof(opt_plugin_dir) - 1); + (void) my_load_path(opt_plugin_dir, opt_plugin_dir_ptr ? opt_plugin_dir_ptr : + get_relative_path(LIBDIR), mysql_home); opt_plugin_dir_ptr= opt_plugin_dir; - (void) my_load_path(opt_plugin_dir, opt_plugin_dir_ptr, mysql_home); char *sharedir=get_relative_path(SHAREDIR); if (test_if_hard_path(sharedir)) diff --git a/sql/table.cc b/sql/table.cc index bf208918346..7c75c150074 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -538,7 +538,7 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head, #endif next_chunk+= str_db_type_length + 2; } - if (next_chunk + 4 < buff_end) + if (next_chunk + 5 < buff_end) { uint32 partition_info_len = uint4korr(next_chunk); #ifdef WITH_PARTITION_STORAGE_ENGINE @@ -561,7 +561,7 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head, goto err; } #endif - next_chunk+= 4 + partition_info_len; + next_chunk+= 5 + partition_info_len; } keyinfo= share->key_info; for (i= 0; i < keys; i++, keyinfo++)