diff options
author | Sujatha <sujatha.sivakumar@mariadb.com> | 2020-05-19 11:22:39 +0530 |
---|---|---|
committer | Sujatha <sujatha.sivakumar@mariadb.com> | 2020-05-20 17:42:28 +0530 |
commit | 836d70899780f28ea2a6870428ff6daac21ca993 (patch) | |
tree | 477a80fc79b96bcdf5961129c0de7dd6a7a4edea /sql/unireg.cc | |
parent | a6b4d4beff4da53b7b8922a175b0119eda69bf5f (diff) | |
download | mariadb-git-836d70899780f28ea2a6870428ff6daac21ca993.tar.gz |
MDEV-22451: SIGSEGV in __memmove_avx_unaligned_erms/memcpy from _my_b_write on CREATE after RESET MASTER
Analysis:
========
RESET MASTER TO # command deletes all binary log files listed in the index
file, resets the binary log index file to be empty, and creates a new binary
log with number #. When the user provided binary log number is greater than
the max allowed value '2147483647' server fails to generate a new binary log.
The RESET MASTER statement marks the binlog closure status as
'LOG_CLOSE_TO_BE_OPENED' and exits. Statements which follow RESET MASTER
try to write to binary log they find the log_state != LOG_CLOSED and
proceed to write to binary log cache and it results in crash.
Fix:
===
During MYSQL_BIN_LOG open, if generation of new binary log name fails then the
"log_state" needs to be marked as "LOG_CLOSED". With this further statements
will find binary log as closed and they will skip writing to the binary log.
Diffstat (limited to 'sql/unireg.cc')
0 files changed, 0 insertions, 0 deletions