MDEV-34348: Fix casts in sql_acl

Partial commit of the greater MDEV-34348 scope.
MDEV-34348: MariaDB is violating clang-16 -Wcast-function-type-strict

Reviewed By:
============
Marko Mäkelä <marko.makela@mariadb.com>
This commit is contained in:
Brandon Nesterenko 2024-10-26 14:00:11 -06:00
parent 7a8eb26bda
commit 5432fa802b

View File

@ -697,9 +697,9 @@ static bool add_role_user_mapping(const char *uname, const char *hname, const ch
static bool get_YN_as_bool(Field *field); static bool get_YN_as_bool(Field *field);
#define ROLE_CYCLE_FOUND 2 #define ROLE_CYCLE_FOUND 2
static int traverse_role_graph_up(ACL_ROLE *, void *, static int
int (*) (ACL_ROLE *, void *), traverse_role_graph_up(ACL_ROLE *, void *, int (*)(ACL_USER_BASE *, void *),
int (*) (ACL_ROLE *, ACL_ROLE *, void *)); int (*)(ACL_USER_BASE *, ACL_ROLE *, void *));
static int traverse_role_graph_down(ACL_USER_BASE *, void *, static int traverse_role_graph_down(ACL_USER_BASE *, void *,
int (*) (ACL_USER_BASE *, void *), int (*) (ACL_USER_BASE *, void *),
@ -2848,7 +2848,7 @@ void acl_free(bool end)
my_hash_free(&acl_roles); my_hash_free(&acl_roles);
free_root(&acl_memroot,MYF(0)); free_root(&acl_memroot,MYF(0));
delete_dynamic(&acl_hosts); delete_dynamic(&acl_hosts);
delete_dynamic_with_callback(&acl_users, (FREE_FUNC) free_acl_user); delete_dynamic_with_callback(&acl_users, free_acl_user);
acl_dbs.free_memory(); acl_dbs.free_memory();
delete_dynamic(&acl_wild_hosts); delete_dynamic(&acl_wild_hosts);
delete_dynamic(&acl_proxy_users); delete_dynamic(&acl_proxy_users);
@ -2956,7 +2956,7 @@ bool acl_reload(THD *thd)
my_hash_free(&old_acl_roles); my_hash_free(&old_acl_roles);
free_root(&old_mem,MYF(0)); free_root(&old_mem,MYF(0));
delete_dynamic(&old_acl_hosts); delete_dynamic(&old_acl_hosts);
delete_dynamic_with_callback(&old_acl_users, (FREE_FUNC) free_acl_user); delete_dynamic_with_callback(&old_acl_users, free_acl_user);
delete_dynamic(&old_acl_proxy_users); delete_dynamic(&old_acl_proxy_users);
my_hash_free(&old_acl_roles_mappings); my_hash_free(&old_acl_roles_mappings);
} }
@ -6222,19 +6222,20 @@ static enum PRIVS_TO_MERGE::what sp_privs_to_merge(enum_sp_type type)
} }
static int init_role_for_merging(ACL_ROLE *role, void *context) static int init_role_for_merging(ACL_USER_BASE *role_, void *context)
{ {
ACL_ROLE *role= static_cast<ACL_ROLE *>(role_);
role->counter= 0; role->counter= 0;
return 0; return 0;
} }
static int count_subgraph_nodes(ACL_ROLE *role, ACL_ROLE *grantee, void *context) static int count_subgraph_nodes(ACL_USER_BASE *, ACL_ROLE *grantee, void *context)
{ {
grantee->counter++; grantee->counter++;
return 0; return 0;
} }
static int merge_role_privileges(ACL_ROLE *, ACL_ROLE *, void *); static int merge_role_privileges(ACL_USER_BASE *, ACL_ROLE *, void *);
static bool merge_one_role_privileges(ACL_ROLE *grantee, PRIVS_TO_MERGE what); static bool merge_one_role_privileges(ACL_ROLE *grantee, PRIVS_TO_MERGE what);
/** /**
@ -6474,13 +6475,11 @@ end:
*/ */
static int traverse_role_graph_up(ACL_ROLE *role, void *context, static int traverse_role_graph_up(ACL_ROLE *role, void *context,
int (*on_node) (ACL_ROLE *role, void *context), int (*on_node) (ACL_USER_BASE *role, void *context),
int (*on_edge) (ACL_ROLE *current, ACL_ROLE *neighbour, void *context)) int (*on_edge) (ACL_USER_BASE *current, ACL_ROLE *neighbour, void *context))
{ {
return traverse_role_graph_impl(role, context, return traverse_role_graph_impl(
my_offsetof(ACL_ROLE, parent_grantee), role, context, my_offsetof(ACL_ROLE, parent_grantee), on_node, on_edge);
(int (*)(ACL_USER_BASE *, void *))on_node,
(int (*)(ACL_USER_BASE *, ACL_ROLE *, void *))on_edge);
} }
/** /**
@ -7020,7 +7019,7 @@ static bool merge_role_routine_grant_privileges(ACL_ROLE *grantee,
/** /**
update privileges of the 'grantee' from all roles, granted to it update privileges of the 'grantee' from all roles, granted to it
*/ */
static int merge_role_privileges(ACL_ROLE *role __attribute__((unused)), static int merge_role_privileges(ACL_USER_BASE *,
ACL_ROLE *grantee, void *context) ACL_ROLE *grantee, void *context)
{ {
PRIVS_TO_MERGE *data= (PRIVS_TO_MERGE *)context; PRIVS_TO_MERGE *data= (PRIVS_TO_MERGE *)context;