mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-22740: UBSAN: sql/opt_split.cc:1150:28: runtime error: shift exponent 61 is too large for 32-bit type 'int' (on optimized builds)
Use a ulonglong instead of uint when left shifting to calculate the table map for all the tables in a query
This commit is contained in:
@ -1149,7 +1149,7 @@ bool JOIN_TAB::fix_splitting(SplM_plan_info *spl_plan,
|
||||
bool JOIN::fix_all_splittings_in_plan()
|
||||
{
|
||||
table_map prev_tables= 0;
|
||||
table_map all_tables= (1 << table_count) - 1;
|
||||
table_map all_tables= (table_map(1) << table_count) - 1;
|
||||
for (uint tablenr= 0; tablenr < table_count; tablenr++)
|
||||
{
|
||||
POSITION *cur_pos= &best_positions[tablenr];
|
||||
|
Reference in New Issue
Block a user