From 1f437f3e8cdb869fd86d01f15bf33f54baaed02b Mon Sep 17 00:00:00 2001 From: Sergey Petrunya Date: Thu, 25 Sep 2014 19:12:52 +0400 Subject: [PATCH] MDEV-6788: The variable 'role' is being used without being initialized at sql_acl.cc:8840 Second variant of the fix: reduce the scope of 'role' variable --- sql/sql_acl.cc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 9ed494cd319..4842a337fe9 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -8645,7 +8645,6 @@ static int handle_grant_struct(enum enum_acl_lists struct_no, bool drop, int elements; const char *UNINIT_VAR(user); const char *UNINIT_VAR(host); - const char *role; ACL_USER *acl_user= NULL; ACL_ROLE *acl_role= NULL; ACL_DB *acl_db= NULL; @@ -8785,7 +8784,6 @@ static int handle_grant_struct(enum enum_acl_lists struct_no, bool drop, role_grant_pair= (ROLE_GRANT_PAIR *) my_hash_element(roles_mappings_hash, idx); user= role_grant_pair->u_uname; host= role_grant_pair->u_hname; - role= role_grant_pair->r_uname; break; default: @@ -8803,8 +8801,7 @@ static int handle_grant_struct(enum enum_acl_lists struct_no, bool drop, if (struct_no == ROLES_MAPPINGS_HASH) { - if (! role) - role= ""; + const char* role= role_grant_pair->r_uname? role_grant_pair->r_uname: ""; if (user_from->is_role() ? strcmp(user_from->user.str, role) : (strcmp(user_from->user.str, user) || my_strcasecmp(system_charset_info, user_from->host.str, host)))