Commit 447eaa5b authored by Arun Kuruvila's avatar Arun Kuruvila

No commit message

No commit message
parent 83d20ca3
/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. /* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
...@@ -717,7 +717,6 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables) ...@@ -717,7 +717,6 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables)
init_read_record(&read_record_info,thd,table= tables[0].table,NULL,1,0, init_read_record(&read_record_info,thd,table= tables[0].table,NULL,1,0,
FALSE); FALSE);
table->use_all_columns(); table->use_all_columns();
(void) my_init_dynamic_array(&acl_hosts,sizeof(ACL_HOST),20,50);
while (!(read_record_info.read_record(&read_record_info))) while (!(read_record_info.read_record(&read_record_info)))
{ {
ACL_HOST host; ACL_HOST host;
...@@ -766,7 +765,6 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables) ...@@ -766,7 +765,6 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables)
init_read_record(&read_record_info,thd,table=tables[1].table,NULL,1,0,FALSE); init_read_record(&read_record_info,thd,table=tables[1].table,NULL,1,0,FALSE);
table->use_all_columns(); table->use_all_columns();
(void) my_init_dynamic_array(&acl_users,sizeof(ACL_USER),50,100);
password_length= table->field[2]->field_length / password_length= table->field[2]->field_length /
table->field[2]->charset()->mbmaxlen; table->field[2]->charset()->mbmaxlen;
if (password_length < SCRAMBLED_PASSWORD_CHAR_LENGTH_323) if (password_length < SCRAMBLED_PASSWORD_CHAR_LENGTH_323)
...@@ -981,7 +979,6 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables) ...@@ -981,7 +979,6 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables)
init_read_record(&read_record_info,thd,table=tables[2].table,NULL,1,0,FALSE); init_read_record(&read_record_info,thd,table=tables[2].table,NULL,1,0,FALSE);
table->use_all_columns(); table->use_all_columns();
(void) my_init_dynamic_array(&acl_dbs,sizeof(ACL_DB),50,100);
while (!(read_record_info.read_record(&read_record_info))) while (!(read_record_info.read_record(&read_record_info)))
{ {
ACL_DB db; ACL_DB db;
...@@ -1038,8 +1035,6 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables) ...@@ -1038,8 +1035,6 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables)
end_read_record(&read_record_info); end_read_record(&read_record_info);
freeze_size(&acl_dbs); freeze_size(&acl_dbs);
(void) my_init_dynamic_array(&acl_proxy_users, sizeof(ACL_PROXY_USER),
50, 100);
if (tables[3].table) if (tables[3].table)
{ {
init_read_record(&read_record_info, thd, table= tables[3].table, NULL, 1, init_read_record(&read_record_info, thd, table= tables[3].table, NULL, 1,
...@@ -1075,6 +1070,7 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables) ...@@ -1075,6 +1070,7 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables)
return_val= FALSE; return_val= FALSE;
end: end:
end_read_record(&read_record_info);
thd->variables.sql_mode= old_sql_mode; thd->variables.sql_mode= old_sql_mode;
DBUG_RETURN(return_val); DBUG_RETURN(return_val);
} }
...@@ -1089,12 +1085,12 @@ void acl_free(bool end) ...@@ -1089,12 +1085,12 @@ void acl_free(bool end)
delete_dynamic(&acl_wild_hosts); delete_dynamic(&acl_wild_hosts);
delete_dynamic(&acl_proxy_users); delete_dynamic(&acl_proxy_users);
my_hash_free(&acl_check_hosts); my_hash_free(&acl_check_hosts);
plugin_unlock(0, native_password_plugin);
plugin_unlock(0, old_password_plugin);
if (!end) if (!end)
acl_cache->clear(1); /* purecov: inspected */ acl_cache->clear(1); /* purecov: inspected */
else else
{ {
plugin_unlock(0, native_password_plugin);
plugin_unlock(0, old_password_plugin);
delete acl_cache; delete acl_cache;
acl_cache=0; acl_cache=0;
} }
...@@ -1168,6 +1164,10 @@ my_bool acl_reload(THD *thd) ...@@ -1168,6 +1164,10 @@ my_bool acl_reload(THD *thd)
old_acl_users= acl_users; old_acl_users= acl_users;
old_acl_proxy_users= acl_proxy_users; old_acl_proxy_users= acl_proxy_users;
old_acl_dbs= acl_dbs; old_acl_dbs= acl_dbs;
my_init_dynamic_array(&acl_hosts, sizeof(ACL_HOST), 20, 50);
my_init_dynamic_array(&acl_users, sizeof(ACL_USER), 50, 100);
my_init_dynamic_array(&acl_dbs, sizeof(ACL_DB), 50, 100);
my_init_dynamic_array(&acl_proxy_users, sizeof(ACL_PROXY_USER), 50, 100);
old_mem= mem; old_mem= mem;
delete_dynamic(&acl_wild_hosts); delete_dynamic(&acl_wild_hosts);
my_hash_free(&acl_check_hosts); my_hash_free(&acl_check_hosts);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment