diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-04-02 19:06:03 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-04-02 19:06:03 +0300 |
commit | 198094ec0eee377fc391fc365bcf5d22f7702717 (patch) | |
tree | 2f3b0a994ccf06b24ca4ab7444e875d5358ec878 | |
parent | 5f3501a6e59a6a2e7e3d8b6d8bd0f3cee2474c6d (diff) | |
download | mariadb-git-198094ec0eee377fc391fc365bcf5d22f7702717.tar.gz |
MDEV-22108 Recovery fails with InnoDB: Malformed log record
mtr_t::log_write(): Fix an off-by-one error.
-rw-r--r-- | storage/innobase/include/mtr0log.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/storage/innobase/include/mtr0log.h b/storage/innobase/include/mtr0log.h index d07fa069dfd..ee823caf6cb 100644 --- a/storage/innobase/include/mtr0log.h +++ b/storage/innobase/include/mtr0log.h @@ -427,7 +427,7 @@ inline byte *mtr_t::log_write(const page_id_t id, const buf_page_t *bpage, if (oend + len > &log_ptr[16]) { len+= oend - log_ptr - 15; - if (len >= MIN_3BYTE) + if (len >= MIN_3BYTE - 1) len+= 2; else if (len >= MIN_2BYTE) len++; @@ -448,7 +448,7 @@ inline byte *mtr_t::log_write(const page_id_t id, const buf_page_t *bpage, else if (len >= 3 && end + len > &log_ptr[16]) { len+= end - log_ptr - 15; - if (len >= MIN_3BYTE) + if (len >= MIN_3BYTE - 1) len+= 2; else if (len >= MIN_2BYTE) len++; |