summaryrefslogtreecommitdiff
path: root/storage/innobase/fil/fil0fil.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-08-30 10:59:31 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2022-08-30 10:59:31 +0300
commitb260903832456dcad882e01a10cdcd48dfd2b0dc (patch)
tree19b9b9f8fa0a0450473eef5815a316754f460cd7 /storage/innobase/fil/fil0fil.cc
parent0d1de5e1d19f1e96058ab5948e184f22e7bdd908 (diff)
downloadmariadb-git-b260903832456dcad882e01a10cdcd48dfd2b0dc.tar.gz
MDEV-29258 Failing assertion for name length on RENAME TABLE
trx_undo_page_report_rename(): Use the correct maximum length of a table name. Both the database name and the table name can be up to NAME_CHAR_LEN (64 characters) times 5 bytes per character in the my_charset_filename encoding. They are not encoded in UTF-8! fil_op_write_log(): Reserve the correct amount of log buffer for a rename operation. The file name will be appended by mlog_catenate_string(). rename_file_ext(): Reserve a large enough buffer for the file names.
Diffstat (limited to 'storage/innobase/fil/fil0fil.cc')
-rw-r--r--storage/innobase/fil/fil0fil.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/storage/innobase/fil/fil0fil.cc b/storage/innobase/fil/fil0fil.cc
index a196303c39f..5d9f80eda70 100644
--- a/storage/innobase/fil/fil0fil.cc
+++ b/storage/innobase/fil/fil0fil.cc
@@ -2105,7 +2105,7 @@ fil_op_write_log(
case MLOG_FILE_RENAME2:
ut_ad(strchr(new_path, OS_PATH_SEPARATOR) != NULL);
len = strlen(new_path) + 1;
- log_ptr = mlog_open(mtr, 2 + len);
+ log_ptr = mlog_open(mtr, 2);
ut_a(log_ptr);
mach_write_to_2(log_ptr, len);
log_ptr += 2;