1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-14868 MariaDB server crashes after using ROLLBACK TO when encrypt_tmp_files=ON

Fix reinit_io_cache(WRITE_CACHE) with non-zero seek_offset.
Run encryption.tempfiles with and without binlog checksums.
This commit is contained in:
Sergei Golubchik
2018-02-07 18:54:11 +01:00
parent 47d1679ac6
commit 60dfe12be3
3 changed files with 9 additions and 3 deletions

View File

@ -145,9 +145,10 @@ static int my_b_encr_write(IO_CACHE *info, const uchar *Buffer, size_t Count)
if (info->seek_not_done)
{
DBUG_ASSERT(info->pos_in_file == 0);
DBUG_ASSERT(info->pos_in_file % info->buffer_length == 0);
size_t wpos= info->pos_in_file / info->buffer_length * crypt_data->block_length;
if ((mysql_file_seek(info->file, 0, MY_SEEK_SET, MYF(0)) == MY_FILEPOS_ERROR))
if ((mysql_file_seek(info->file, wpos, MY_SEEK_SET, MYF(0)) == MY_FILEPOS_ERROR))
{
info->error= -1;
DBUG_RETURN(1);