summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorVicențiu Ciorbaru <vicentiu@mariadb.org>2016-10-28 17:10:05 +0200
committerVicențiu Ciorbaru <vicentiu@mariadb.org>2016-12-01 15:01:33 +0100
commite99990c631905cd923257331ef124a2bc9276e0d (patch)
tree880ae6552005afe71f57c5d909c4700d65515f03 /sql
parent525e214111a069574f9aca15944ac0a4ae7e4696 (diff)
downloadmariadb-git-e99990c631905cd923257331ef124a2bc9276e0d.tar.gz
MDEV-10744: Roles are not fully case sensitive
Due to the collation used on the roles_mapping_hash, key comparison would work in a case-insensitive manner. This is incorrect from the roles mapping perspective. Make use of a case-sensitive collation for that hash, the same one used for the acl_roles hash.
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_acl.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index f06e9ce647c..be1425e294a 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -1600,7 +1600,7 @@ my_bool acl_reload(THD *thd)
my_hash_init2(&acl_roles,50, &my_charset_utf8_bin,
0, 0, 0, (my_hash_get_key) acl_role_get_key, 0,
(void (*)(void *))free_acl_role, 0);
- my_hash_init2(&acl_roles_mappings, 50, system_charset_info, 0, 0, 0,
+ my_hash_init2(&acl_roles_mappings, 50, &my_charset_utf8_bin, 0, 0, 0,
(my_hash_get_key) acl_role_map_get_key, 0, 0, 0);
old_mem= acl_memroot;
delete_dynamic(&acl_wild_hosts);