From a7e3008ab3d368c2e2957b346647a7656d638e5c Mon Sep 17 00:00:00 2001 From: Eugene Kosov Date: Wed, 30 Oct 2019 12:53:25 +0300 Subject: [PATCH] MDEV-20926 UBSAN: load of value 165, which is not a valid value for type bool Basicaly it's an uninitialized read. 165 is 0xa5 which comes from TRASH_ALLOC() Fix by calling a class ctor which initializes problematic TMP_TABLE_PARAM::force_copy_fields field --- sql/sql_show.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sql/sql_show.cc b/sql/sql_show.cc index d8f65c74448..c63b8b0f8a8 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -7708,8 +7708,7 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list) item->maybe_null= (fields_info->field_flags & MY_I_S_MAYBE_NULL); field_count++; } - TMP_TABLE_PARAM *tmp_table_param = - (TMP_TABLE_PARAM*) (thd->alloc(sizeof(TMP_TABLE_PARAM))); + TMP_TABLE_PARAM *tmp_table_param = new TMP_TABLE_PARAM; tmp_table_param->init(); tmp_table_param->table_charset= cs; tmp_table_param->field_count= field_count;