mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
BUG#21477 "memory overruns for certain kinds of subqueries":
make st_select_lex::setup_ref_array() take into account that Item_sum-descendant objects located within descendant SELECTs may be added into ref_pointer_array. sql/item_sum.cc: BUG#21477 "memory overruns for certain kinds of subqueries": Make SELECT_LEX::n_sum_items contain # of Item_sum-derived objects that exist within this SELECT. sql/sql_lex.h: BUG#21477 "memory overruns for certain kinds of subqueries": Add SELECT_LEX::n_sum_items and SELECT_LEXT::n_child_sum_items. sql/sql_yacc.yy: BUG#21477 "memory overruns for certain kinds of subqueries": Make SELECT_LEX::n_sum_items contain # of Item_sum-derived objects that exist within this SELECT.
This commit is contained in:
@ -1521,10 +1521,10 @@ bool st_select_lex::setup_ref_array(THD *thd, uint order_group_num)
|
||||
*/
|
||||
Query_arena *arena= thd->stmt_arena;
|
||||
return (ref_pointer_array=
|
||||
(Item **)arena->alloc(sizeof(Item*) *
|
||||
(item_list.elements +
|
||||
select_n_having_items +
|
||||
order_group_num)* 5)) == 0;
|
||||
(Item **)arena->alloc(sizeof(Item*) * (n_child_sum_items +
|
||||
item_list.elements +
|
||||
select_n_having_items +
|
||||
order_group_num)*5)) == 0;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user