mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#26285 selecting information_schema crahes server
The crash happens when 'skip-grant-tables' is enabled. We skip the filling of I_S privilege tables if acl_cache is not initialized.
This commit is contained in:
@ -58,3 +58,15 @@ DROP PROCEDURE p3;
|
||||
DROP FUNCTION f1;
|
||||
DROP FUNCTION f2;
|
||||
DROP FUNCTION f3;
|
||||
select count(*) from information_schema.COLUMN_PRIVILEGES;
|
||||
count(*)
|
||||
0
|
||||
select count(*) from information_schema.SCHEMA_PRIVILEGES;
|
||||
count(*)
|
||||
0
|
||||
select count(*) from information_schema.TABLE_PRIVILEGES;
|
||||
count(*)
|
||||
0
|
||||
select count(*) from information_schema.USER_PRIVILEGES;
|
||||
count(*)
|
||||
0
|
||||
|
@ -108,3 +108,11 @@ DROP PROCEDURE p3;
|
||||
DROP FUNCTION f1;
|
||||
DROP FUNCTION f2;
|
||||
DROP FUNCTION f3;
|
||||
|
||||
#
|
||||
# Bug#26285 Selecting information_schema crahes server
|
||||
#
|
||||
select count(*) from information_schema.COLUMN_PRIVILEGES;
|
||||
select count(*) from information_schema.SCHEMA_PRIVILEGES;
|
||||
select count(*) from information_schema.TABLE_PRIVILEGES;
|
||||
select count(*) from information_schema.USER_PRIVILEGES;
|
||||
|
@ -5882,6 +5882,8 @@ int fill_schema_user_privileges(THD *thd, TABLE_LIST *tables, COND *cond)
|
||||
char *curr_host= thd->security_ctx->priv_host_name();
|
||||
DBUG_ENTER("fill_schema_user_privileges");
|
||||
|
||||
if (!initialized)
|
||||
DBUG_RETURN(0);
|
||||
pthread_mutex_lock(&acl_cache->lock);
|
||||
|
||||
for (counter=0 ; counter < acl_users.elements ; counter++)
|
||||
@ -5941,6 +5943,8 @@ int fill_schema_schema_privileges(THD *thd, TABLE_LIST *tables, COND *cond)
|
||||
char *curr_host= thd->security_ctx->priv_host_name();
|
||||
DBUG_ENTER("fill_schema_schema_privileges");
|
||||
|
||||
if (!initialized)
|
||||
DBUG_RETURN(0);
|
||||
pthread_mutex_lock(&acl_cache->lock);
|
||||
|
||||
for (counter=0 ; counter < acl_dbs.elements ; counter++)
|
||||
|
Reference in New Issue
Block a user