summaryrefslogtreecommitdiff
path: root/innobase/mtr
diff options
context:
space:
mode:
authorunknown <marko@hundin.mysql.fi>2005-01-05 11:56:41 +0200
committerunknown <marko@hundin.mysql.fi>2005-01-05 11:56:41 +0200
commit509554c3cd843d02d164fee351b36a5efa5c334e (patch)
tree28a8b343fc22597ca2f0ddbe7a3049dfe680d117 /innobase/mtr
parent4fd1524c0a0e3fed746a8f2af743cafbb12abfd4 (diff)
downloadmariadb-git-509554c3cd843d02d164fee351b36a5efa5c334e.tar.gz
InnoDB: fix corruption in crash recovery of BLOB fields (Bug #7679)
innobase/mtr/mtr0log.c: mlog_open_and_write_index(): BLOBs should have maximum length > 255
Diffstat (limited to 'innobase/mtr')
-rw-r--r--innobase/mtr/mtr0log.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/innobase/mtr/mtr0log.c b/innobase/mtr/mtr0log.c
index 417093134c3..4f826f242e8 100644
--- a/innobase/mtr/mtr0log.c
+++ b/innobase/mtr/mtr0log.c
@@ -443,7 +443,8 @@ mlog_open_and_write_index(
type = dict_col_get_type(dict_field_get_col(field));
len = field->fixed_len;
ut_ad(len < 0x7fff);
- if (len == 0 && dtype_get_len(type) > 255) {
+ if (len == 0 && (dtype_get_len(type) > 255
+ || dtype_get_mtype(type) == DATA_BLOB)) {
/* variable-length field
with maximum length > 255 */
len = 0x7fff;