Browse Source

BUG#24401 - MySQL server crashes if you try to retrieve data from

corrupted table

Accessing a table with corrupted column definition results in server
crash.

This is fixed by refusing to open such tables. Affects MyISAM only.
No test case, since it requires crashed table.


myisam/mi_open.c:
  Refuse to open MyISAM table with summary columns length bigger than
  length of the record.
pull/374/head
unknown 19 years ago
parent
commit
fde52a2f82
  1. 7
      myisam/mi_open.c

7
myisam/mi_open.c

@ -435,6 +435,13 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
offset+=share->rec[i].length;
}
share->rec[i].type=(int) FIELD_LAST; /* End marker */
if (offset > share->base.reclength)
{
/* purecov: begin inspected */
my_errno= HA_ERR_CRASHED;
goto err;
/* purecov: end */
}
if (! lock_error)
{

Loading…
Cancel
Save