Hi, Oleksandr, On Oct 21, Oleksandr Byelkin wrote:
if (share->view_def->parse((uchar *) &share->tabledef_version, NULL, view_timestamp_parameters, 1, &file_parser_dummy_hook)) + { + // safety if the definition file is brocken + share->tabledef_version.length= 0;
if we got an error as I understood it will nead to an error of opening the table, so the query will fail.
The other thread may have memory but it is true for any EOM situation and there are a lot of places where we allocate memory, so I do not see how this will differ.
The same with changing frm file with a working server, I do not think that our server will survive if something out of the server will change frms.
May be not, but it doesn't mean we need to introduce intentionally more places that can cause a crash. What will happen if you would not set share->tabledef_version.length= 0 there? Regards, Sergei VP of MariaDB Server Engineering and security@mariadb.org