Skip to content

Commit

Permalink
MDEV-10570: Fix -Wmaybe-uninitialized
Browse files Browse the repository at this point in the history
Rows_log_event::change_to_flashback_event(): Reduce the scope
of the variable swap_buff2, and do not duplicate conditions.

GCC 9.3.0 flagged the -Wmaybe-uninitialized when compiling the
10.5 branch using cmake -DWITH_ASAN=ON -DCMAKE_CXX_FLAGS=-O2
  • Loading branch information
dr-m committed Mar 17, 2020
1 parent b1d7ba4 commit 89698ce
Showing 1 changed file with 4 additions and 11 deletions.
15 changes: 4 additions & 11 deletions sql/log_event.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Copyright (c) 2000, 2019, Oracle and/or its affiliates.
Copyright (c) 2009, 2019, MariaDB
Copyright (c) 2009, 2020, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -3184,7 +3184,7 @@ void Rows_log_event::change_to_flashback_event(PRINT_EVENT_INFO *print_event_inf
Table_map_log_event *map;
table_def *td;
DYNAMIC_ARRAY rows_arr;
uchar *swap_buff1, *swap_buff2;
uchar *swap_buff1;
uchar *rows_pos= rows_buff + m_rows_before_size;

if (!(map= print_event_info->m_table_map.get_table(m_table_id)) ||
Expand Down Expand Up @@ -3233,29 +3233,22 @@ void Rows_log_event::change_to_flashback_event(PRINT_EVENT_INFO *print_event_inf
}
value+= length2;

swap_buff2= (uchar *) my_malloc(length2, MYF(0));
void *swap_buff2= my_malloc(length2, MYF(0));
if (!swap_buff2)
{
fprintf(stderr, "\nError: Out of memory. "
"Could not exchange to flashback event.\n");
exit(1);
}
memcpy(swap_buff2, start_pos + length1, length2); // WHERE part
}

if (ev_type == UPDATE_ROWS_EVENT ||
ev_type == UPDATE_ROWS_EVENT_V1)
{
/* Swap SET and WHERE part */
memcpy(start_pos, swap_buff2, length2);
memcpy(start_pos + length2, swap_buff1, length1);
my_free(swap_buff2);
}

/* Free tmp buffers */
my_free(swap_buff1);
if (ev_type == UPDATE_ROWS_EVENT ||
ev_type == UPDATE_ROWS_EVENT_V1)
my_free(swap_buff2);

/* Copying one row into a buff, and pushing into the array */
LEX_STRING one_row;
Expand Down

0 comments on commit 89698ce

Please sign in to comment.