mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
MDEV-10001 my_b_seek() may not work correctly after my_b_read() hits EOF
applied the patch from David Gow
This commit is contained in:
parent
ecdf46daed
commit
1d21b22155
1 changed files with 3 additions and 0 deletions
|
@ -507,6 +507,7 @@ int _my_b_read(register IO_CACHE *info, uchar *Buffer, size_t Count)
|
|||
{
|
||||
/* End of file. Return, what we did copy from the buffer. */
|
||||
info->error= (int) left_length;
|
||||
info->seek_not_done=1;
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
/*
|
||||
|
@ -524,6 +525,7 @@ int _my_b_read(register IO_CACHE *info, uchar *Buffer, size_t Count)
|
|||
*/
|
||||
info->error= (read_length == (size_t) -1 ? -1 :
|
||||
(int) (read_length+left_length));
|
||||
info->seek_not_done=1;
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
Count-=length;
|
||||
|
@ -572,6 +574,7 @@ int _my_b_read(register IO_CACHE *info, uchar *Buffer, size_t Count)
|
|||
/* For a read error, return -1, otherwise, what we got in total. */
|
||||
info->error= length == (size_t) -1 ? -1 : (int) (length+left_length);
|
||||
info->read_pos=info->read_end=info->buffer;
|
||||
info->seek_not_done=1;
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue