Skip to content

Commit 9ad4a0a

Browse files
harinvadodariabjornmu
authored andcommitted
Bug#22573767: MYSQLD --VERBOSE --HELP TRIES TO INITIALIZE KEYRING FILE
Problem: If a plugin is provided through --early-plugin-load, server tries to initialize it even if --help is specified. Solution: Skip plugin initialization if --help is used. Reviewed-By: Georgi Kodinov <[email protected]> (cherry picked from commit fc3e3d23729763a024e6473e72444357b8f899d4)
1 parent 6a3f538 commit 9ad4a0a

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

mysql-test/t/help_verbose.test

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
--mkdir $BUGDIR
1717

18-
--exec $MYSQLD --no-defaults --help --verbose --datadir=$TEST_DATADIR --lc-messages-dir=$MESSAGES_DIR --secure-file-priv="" --early_plugin_load="" > $LOG_FILE 2>&1
18+
--exec $MYSQLD --no-defaults --help --verbose --datadir=$TEST_DATADIR --lc-messages-dir=$MESSAGES_DIR --secure-file-priv="" $KEYRING_PLUGIN_OPT > $LOG_FILE 2>&1
1919

2020
--echo # There should be no errors
2121
--let SEARCH_FILE= $LOG_FILE
@@ -37,7 +37,7 @@
3737
--mkdir $BUGDIR
3838
--mkdir $TEST_DATADIR
3939

40-
--exec $MYSQLD --no-defaults --help --verbose --datadir=$TEST_DATADIR --lc-messages-dir=$MESSAGES_DIR --secure-file-priv="" --early_plugin_load="" > $LOG_FILE 2>&1
40+
--exec $MYSQLD --no-defaults --help --verbose --datadir=$TEST_DATADIR --lc-messages-dir=$MESSAGES_DIR --secure-file-priv="" $KEYRING_PLUGIN_OPT > $LOG_FILE 2>&1
4141

4242
--echo # There should be no errors
4343
--let SEARCH_FILE= $LOG_FILE
@@ -62,7 +62,7 @@
6262

6363
--mkdir $BUGDIR
6464

65-
--exec $MYSQLD --no-defaults --help --verbose --datadir=$TEST_DATADIR --lc-messages-dir=$MESSAGES_DIR --secure-file-priv="" --early_plugin_load="" > $LOG_FILE 2>&1
65+
--exec $MYSQLD --no-defaults --help --verbose --datadir=$TEST_DATADIR --lc-messages-dir=$MESSAGES_DIR --secure-file-priv="" $KEYRING_PLUGIN_OPT > $LOG_FILE 2>&1
6666

6767
--echo # There should be no errors
6868
--let SEARCH_FILE= $LOG_FILE
@@ -84,7 +84,7 @@
8484
--mkdir $BUGDIR
8585
--mkdir $TEST_DATADIR
8686

87-
--exec $MYSQLD --no-defaults --help --verbose --log-bin --server-id=1 --datadir=$TEST_DATADIR --lc-messages-dir=$MESSAGES_DIR --secure-file-priv="" --early_plugin_load="" > $LOG_FILE 2>&1
87+
--exec $MYSQLD --no-defaults --help --verbose --log-bin --server-id=1 --datadir=$TEST_DATADIR --lc-messages-dir=$MESSAGES_DIR --secure-file-priv="" $KEYRING_PLUGIN_OPT > $LOG_FILE 2>&1
8888

8989
--echo # There should be no errors
9090
--let SEARCH_FILE= $LOG_FILE

sql/sql_plugin.cc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1446,8 +1446,11 @@ int plugin_init(int *argc, char **argv, int flags)
14461446
while (NULL != (item= iter++))
14471447
plugin_load_list(&tmp_root, argc, argv, item->ptr);
14481448

1449-
if (plugin_init_initialize_and_reap())
1450-
goto err;
1449+
if (!(flags & PLUGIN_INIT_SKIP_INITIALIZATION))
1450+
{
1451+
if (plugin_init_initialize_and_reap())
1452+
goto err;
1453+
}
14511454

14521455
free_root(&tmp_root, MYF(0));
14531456
init_alloc_root(key_memory_plugin_init_tmp, &tmp_root, 4096, 4096);

0 commit comments

Comments
 (0)