mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
Bug#26807 "set global event_scheduler=1" and --skip-grant-tables crashes server
- Crash occured because Event engine is only initialized if ACLs are used but not properly marked as disabled. - The patch is to mark the Event engine as DISABLED if no ACLs are used to avoid access of uninitialized variables. mysql-test/r/skip_grants.result: Added test case mysql-test/t/skip_grants.test: Added test case
This commit is contained in:
parent
469282461c
commit
2b2fb67460
4 changed files with 15 additions and 1 deletions
|
@ -58,3 +58,5 @@ DROP PROCEDURE p3;
|
|||
DROP FUNCTION f1;
|
||||
DROP FUNCTION f2;
|
||||
DROP FUNCTION f3;
|
||||
set global event_scheduler=1;
|
||||
ERROR HY000: The MySQL server is running with the --event-scheduler=DISABLED or --skip-grant-tables option so it cannot execute this statement
|
||||
|
|
|
@ -108,3 +108,10 @@ DROP PROCEDURE p3;
|
|||
DROP FUNCTION f1;
|
||||
DROP FUNCTION f2;
|
||||
DROP FUNCTION f3;
|
||||
|
||||
#
|
||||
# Bug #26807 "set global event_scheduler=1" and --skip-grant-tables crashes server
|
||||
#
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
set global event_scheduler=1;
|
||||
|
||||
|
|
|
@ -3691,6 +3691,7 @@ we force server id to 2, but this MySQL server will not act as a slave.");
|
|||
udf_init();
|
||||
#endif
|
||||
}
|
||||
|
||||
init_status_vars();
|
||||
if (opt_bootstrap) /* If running with bootstrap, do not start replication. */
|
||||
opt_skip_slave_start= 1;
|
||||
|
@ -3737,6 +3738,10 @@ we force server id to 2, but this MySQL server will not act as a slave.");
|
|||
if (Events::get_instance()->init())
|
||||
unireg_abort(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
Events::opt_event_scheduler = Events::EVENTS_DISABLED;
|
||||
}
|
||||
|
||||
/* Signal threads waiting for server to be started */
|
||||
pthread_mutex_lock(&LOCK_server_started);
|
||||
|
|
|
@ -3990,7 +3990,7 @@ sys_var_event_scheduler::update(THD *thd, set_var *var)
|
|||
DBUG_ENTER("sys_var_event_scheduler::update");
|
||||
if (Events::opt_event_scheduler == Events::EVENTS_DISABLED)
|
||||
{
|
||||
my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0), "--event-scheduler=DISABLED");
|
||||
my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0), "--event-scheduler=DISABLED or --skip-grant-tables");
|
||||
DBUG_RETURN(TRUE);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue