Skip to content

Commit d1bb7f9

Browse files
committed
Fixed memory leak in item_sum.cc::report_cut_value_error()
Only affects DBUG builds
1 parent d09dd5e commit d1bb7f9

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

sql/item_sum.cc

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3737,13 +3737,16 @@ static void report_cut_value_error(THD *thd, uint row_count, const char *fname)
37373737
{
37383738
size_t fn_len= strlen(fname);
37393739
char *fname_upper= (char *) my_alloca(fn_len + 1);
3740-
fname_upper[fn_len]= 0;
3741-
for (; fn_len; fn_len--)
3742-
fname_upper[fn_len-1]= my_toupper(&my_charset_latin1, fname[fn_len-1]);
3740+
if (!fname_upper)
3741+
fname_upper= (char*) fname; // Out of memory
3742+
else
3743+
memcpy(fname_upper, fname, fn_len+1);
3744+
my_caseup_str(&my_charset_latin1, fname_upper);
37433745
push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
37443746
ER_CUT_VALUE_GROUP_CONCAT,
37453747
ER_THD(thd, ER_CUT_VALUE_GROUP_CONCAT),
37463748
row_count, fname_upper);
3749+
my_afree(fname_upper);
37473750
}
37483751

37493752

0 commit comments

Comments
 (0)