MDEV-9304: MariaDB crash with specific query

tmp_join may get its tables freed twice during JOIN cleanup. Set them to NULL
when the tmp_join is different than the current join.
This commit is contained in:
Vicențiu Ciorbaru 2016-01-26 14:49:25 +02:00
parent 5269d378df
commit a7c43a684a

View file

@ -887,6 +887,12 @@ bool st_select_lex_unit::cleanup()
join->tables_list= 0;
join->table_count= 0;
join->top_join_tab_count= 0;
if (join->tmp_join && join->tmp_join != join)
{
join->tmp_join->tables_list= 0;
join->tmp_join->table_count= 0;
join->tmp_join->top_join_tab_count= 0;
}
}
error|= fake_select_lex->cleanup();
/*