summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/sql_acl.cc22
1 files changed, 10 insertions, 12 deletions
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index f6b304406d5..46114e2748b 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -202,18 +202,17 @@ my_bool acl_init(THD *org_thd, bool dont_read_acl_tables)
{
/*
We make a temporary copy of the database, force it to lower case,
- and then copy it back over the original name. We can't just update
- the host.db pointer, because tmp_name is allocated on the stack.
+ and then check it against the original name.
*/
- (void)strmov(tmp_name, host.db);
- my_casedn_str(files_charset_info, tmp_name);
+ (void)strnmov(tmp_name, host.db, sizeof(tmp_name));
+ my_casedn_str(files_charset_info, host.db);
if (strcmp(host.db, tmp_name) != 0)
{
sql_print_warning("'host' entry '%s|%s' had database in mixed "
"case that has been forced to lowercase because "
- "lower_case_table_names is set.",
+ "lower_case_table_names is set. It will not be "
+ "possible to remove this privilege using REVOKE.",
host.host.hostname, host.db);
- (void)strmov(host.db, tmp_name);
}
}
host.access= get_access(table,2);
@@ -403,18 +402,17 @@ my_bool acl_init(THD *org_thd, bool dont_read_acl_tables)
{
/*
We make a temporary copy of the database, force it to lower case,
- and then copy it back over the original name. We can't just update
- the db.db pointer, because tmp_name is allocated on the stack.
+ and then check it against the original name.
*/
- (void)strmov(tmp_name, db.db);
- my_casedn_str(files_charset_info, tmp_name);
+ (void)strnmov(tmp_name, db.db, sizeof(tmp_name));
+ my_casedn_str(files_charset_info, db.db);
if (strcmp(db.db, tmp_name) != 0)
{
sql_print_warning("'db' entry '%s %s@%s' had database in mixed "
"case that has been forced to lowercase because "
- "lower_case_table_names is set.",
+ "lower_case_table_names is set. It will not be "
+ "possible to remove this privilege using REVOKE.",
db.db, db.user, db.host.hostname, db.host.hostname);
- (void)strmov(db.db, tmp_name);
}
}
db.sort=get_sort(3,db.host.hostname,db.db,db.user);