Commit e071fdb6 authored by unknown's avatar unknown

BUG#24358 - Table access crashes server

Having broken .frm, particulary number of field names does
not match number of fields, causes server crash.

Refuse to open a table if number of field names in a table
is not equal to number of fields in a table.

No test case, since it requires broken .frm file.


sql/table.cc:
  Refuse to open a table if number of field names in a table
  is not equal to number of fields in a table.
parent 605f62ce
...@@ -373,6 +373,8 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag, ...@@ -373,6 +373,8 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
memcpy(comment_pos, disk_buff+read_length-com_length, com_length); memcpy(comment_pos, disk_buff+read_length-com_length, com_length);
fix_type_pointers(&int_array,&outparam->fieldnames,1,&names); fix_type_pointers(&int_array,&outparam->fieldnames,1,&names);
if (outparam->fieldnames.count != outparam->fields)
goto err_not_open;
fix_type_pointers(&int_array,outparam->intervals,interval_count, fix_type_pointers(&int_array,outparam->intervals,interval_count,
&names); &names);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment