diff options
author | Sergei Golubchik <serg@mariadb.org> | 2015-12-16 19:33:53 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2015-12-19 13:59:29 +0100 |
commit | 392d55790132aa7c4cf12208c49d922926007d81 (patch) | |
tree | a4cc077fc9bd3aea50945c78645444570997b8b7 /sql/sql_plugin.cc | |
parent | 03245ec02e2f16df488098427aaeb635de9ab4c0 (diff) | |
download | mariadb-git-392d55790132aa7c4cf12208c49d922926007d81.tar.gz |
MDEV-9183 MariaDB 10.1 crash on `mysqld --verbose --help`
plugin_init() works like this:
1. init MyISAM
2. load plugins from mysql.plugin, if it's a MyISAM table
3. init all not initialized plugins
4. all done, if step 2 loaded mysql.plugin,
otherwise:
5. load plugins from mysql.plugin
6. init all not initialized plugins
now, with --help --verbose, step 3 will not actually
initialize them, and if mysql.plugin is unreadable,
step 6 will try to initialize existing plugins again.
Fix: when skipping initialization because of --help,
change plugin status from PLUGIN_IS_UNINITIALIZED.
Diffstat (limited to 'sql/sql_plugin.cc')
-rw-r--r-- | sql/sql_plugin.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index 6d8268efe86..de5b9ac01e3 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -1399,6 +1399,7 @@ static int plugin_initialize(MEM_ROOT *tmp_root, struct st_plugin_int *plugin, if (options_only || state == PLUGIN_IS_DISABLED) { ret= 0; + state= PLUGIN_IS_DISABLED; goto err; } |