diff options
author | Sergei Golubchik <serg@mariadb.org> | 2022-04-12 13:07:20 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2022-04-12 13:07:20 +0200 |
commit | bbdec04d59ceeda7d1792c8250f6b10989cb239a (patch) | |
tree | bd7d971804d31de965679d9c1d4e723d027f4ea6 /extra | |
parent | 6891c4874a70685e6f6661fad2369d26007003c7 (diff) | |
download | mariadb-git-bbdec04d59ceeda7d1792c8250f6b10989cb239a.tar.gz |
MDEV-24317 Data race in LOGGER::init_error_log at sql/log.cc:1443 and in LOGGER::error_log_print at sql/log.cc:1181
don't initialize error_log_handler_list in set_handlers()
* error_log_handler_list is initialized to LOG_FILE early, in init_base()
* set_handlers always reinitializes it to LOG_FILE, so it's pointless
* after init_base() concurrent threads start using sql_log_warning,
so following set_handlers() shouldn't modify error_log_handler_list
without some protection
Diffstat (limited to 'extra')
-rw-r--r-- | extra/mariabackup/xtrabackup.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc index 41461d6ece1..f745c6ba163 100644 --- a/extra/mariabackup/xtrabackup.cc +++ b/extra/mariabackup/xtrabackup.cc @@ -6576,7 +6576,7 @@ int main(int argc, char **argv) key_map_full.set_all(); logger.init_base(); - logger.set_handlers(LOG_FILE, LOG_NONE, LOG_NONE); + logger.set_handlers(LOG_NONE, LOG_NONE); mysql_mutex_init(key_LOCK_error_log, &LOCK_error_log, MY_MUTEX_INIT_FAST); |