summaryrefslogtreecommitdiff
path: root/sql/sql_plugin.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2015-12-16 19:33:53 +0100
committerSergei Golubchik <serg@mariadb.org>2015-12-19 13:59:29 +0100
commit392d55790132aa7c4cf12208c49d922926007d81 (patch)
treea4cc077fc9bd3aea50945c78645444570997b8b7 /sql/sql_plugin.cc
parent03245ec02e2f16df488098427aaeb635de9ab4c0 (diff)
downloadmariadb-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.cc1
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;
}