diff options
Diffstat (limited to 'sql/session_tracker.cc')
-rw-r--r-- | sql/session_tracker.cc | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/sql/session_tracker.cc b/sql/session_tracker.cc index d94ecdc2b24..4cee6cb0dfa 100644 --- a/sql/session_tracker.cc +++ b/sql/session_tracker.cc @@ -381,16 +381,14 @@ bool Session_sysvars_tracker::enable(THD *thd) bool Session_sysvars_tracker::update(THD *thd, set_var *var) { vars_list tool_list; - void *copy; size_t length= 1; - if (var->save_result.string_value.str) - copy= my_memdup(PSI_INSTRUMENT_ME, var->save_result.string_value.str, - (length= var->save_result.string_value.length + 1), - MYF(MY_WME | MY_THREAD_SPECIFIC)); - else - copy= my_strdup(PSI_INSTRUMENT_ME, "", MYF(MY_WME | MY_THREAD_SPECIFIC)); - + void *copy= var->save_result.string_value.str ? + my_memdup(PSI_INSTRUMENT_ME, var->save_result.string_value.str, + (length= var->save_result.string_value.length + 1), + MYF(MY_WME | MY_THREAD_SPECIFIC)) : + my_strdup(PSI_INSTRUMENT_ME, "", + MYF(MY_WME | MY_THREAD_SPECIFIC)); if (!copy) return true; |