From fbc157ab33bb2b7a239f13f8b64ce5935f0bdee9 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Tue, 18 Jul 2023 11:59:42 +1000 Subject: [PATCH] MDEV-31545 GCC 13 -Wdangling-pointer in execute_show_status() The pointer was used deep in the call path. Resolve this by setting the pointer to NULL at the end of the function. Tested with gcc-13.3.1 (fc38) The warning disable 38fe266ea953 can be reverted in 10.6+ on merge. --- sql/sql_parse.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 473b23fd20c..f8039b7df09 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -6522,9 +6522,11 @@ static bool execute_show_status(THD *thd, TABLE_LIST *all_tables) memcpy(&thd->status_var, &old_status_var, offsetof(STATUS_VAR, last_cleared_system_status_var)); mysql_mutex_unlock(&LOCK_status); + thd->initial_status_var= NULL; return res; #ifdef WITH_WSREP wsrep_error_label: /* see WSREP_SYNC_WAIT() macro above */ + thd->initial_status_var= NULL; return true; #endif /* WITH_WSREP */ }