1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-23894 UBSAN: several call to function show_binlog_vars(THD*, st_mysql_show_var*, char*) through pointer to incorrect function type 'int (*)(THD *, st_mysql_show_var *, void *, system_status_var *, enum_var_type) errors

This commit is contained in:
Eugene Kosov
2020-10-06 13:50:26 +03:00
parent 33f19876a2
commit 350c9eb705
4 changed files with 11 additions and 10 deletions

View File

@ -10403,7 +10403,8 @@ binlog_checksum_update(MYSQL_THD thd, struct st_mysql_sys_var *var,
} }
static int show_binlog_vars(THD *thd, SHOW_VAR *var, char *buff) static int show_binlog_vars(THD *thd, SHOW_VAR *var, void *,
system_status_var *status_var, enum_var_type)
{ {
mysql_bin_log.set_status_variables(thd); mysql_bin_log.set_status_variables(thd);
var->type= SHOW_ARRAY; var->type= SHOW_ARRAY;

View File

@ -8337,8 +8337,8 @@ show_ssl_get_server_not_after(THD *thd, SHOW_VAR *var, char *buff,
#endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */ #endif /* HAVE_OPENSSL && !EMBEDDED_LIBRARY */
static int show_default_keycache(THD *thd, SHOW_VAR *var, char *buff, static int show_default_keycache(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
struct st_data { struct st_data {
KEY_CACHE_STATISTICS stats; KEY_CACHE_STATISTICS stats;
@ -8371,7 +8371,7 @@ static int show_default_keycache(THD *thd, SHOW_VAR *var, char *buff,
v->name= 0; v->name= 0;
DBUG_ASSERT((char*)(v+1) <= buff + SHOW_VAR_FUNC_BUFF_SIZE); DBUG_ASSERT((char*)(v+1) <= static_cast<char*>(buff) + SHOW_VAR_FUNC_BUFF_SIZE);
#undef set_one_keycache_var #undef set_one_keycache_var
@ -8395,8 +8395,8 @@ static int show_memory_used(THD *thd, SHOW_VAR *var, char *buff,
#ifndef DBUG_OFF #ifndef DBUG_OFF
static int debug_status_func(THD *thd, SHOW_VAR *var, char *buff, static int debug_status_func(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
#define add_var(X,Y,Z) \ #define add_var(X,Y,Z) \
v->name= X; \ v->name= X; \

View File

@ -131,8 +131,8 @@ extern const char* wsrep_provider_name;
extern const char* wsrep_provider_version; extern const char* wsrep_provider_version;
extern const char* wsrep_provider_vendor; extern const char* wsrep_provider_vendor;
int wsrep_show_status(THD *thd, SHOW_VAR *var, char *buff, int wsrep_show_status(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope); system_status_var *status_var, enum_var_type scope);
int wsrep_init(); int wsrep_init();
void wsrep_deinit(bool free_options); void wsrep_deinit(bool free_options);

View File

@ -726,8 +726,8 @@ static int show_var_cmp(const void *var1, const void *var2)
return strcasecmp(((SHOW_VAR*)var1)->name, ((SHOW_VAR*)var2)->name); return strcasecmp(((SHOW_VAR*)var1)->name, ((SHOW_VAR*)var2)->name);
} }
int wsrep_show_status (THD *thd, SHOW_VAR *var, char *buff, int wsrep_show_status (THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type scope)
{ {
uint i, maxi= SHOW_VAR_FUNC_BUFF_SIZE / sizeof(*var) - 1; uint i, maxi= SHOW_VAR_FUNC_BUFF_SIZE / sizeof(*var) - 1;
SHOW_VAR *v= (SHOW_VAR *)buff; SHOW_VAR *v= (SHOW_VAR *)buff;