Merge chilla.local:/home/mydev/mysql-5.0-bug20719
into chilla.local:/home/mydev/mysql-5.1-bug20719
This commit is contained in:
commit
b1bfdbfd2e
@ -1354,13 +1354,13 @@ int _mi_read_dynamic_record(MI_INFO *info, my_off_t filepos, byte *buf)
|
|||||||
block_info.second_read= 0;
|
block_info.second_read= 0;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
/* A corrupted table can have wrong pointers. (Bug# 19835) */
|
||||||
|
if (filepos == HA_OFFSET_ERROR)
|
||||||
|
goto panic;
|
||||||
if (info->opt_flag & WRITE_CACHE_USED &&
|
if (info->opt_flag & WRITE_CACHE_USED &&
|
||||||
info->rec_cache.pos_in_file < filepos + MI_BLOCK_INFO_HEADER_LENGTH &&
|
info->rec_cache.pos_in_file < filepos + MI_BLOCK_INFO_HEADER_LENGTH &&
|
||||||
flush_io_cache(&info->rec_cache))
|
flush_io_cache(&info->rec_cache))
|
||||||
goto err;
|
goto err;
|
||||||
/* A corrupted table can have wrong pointers. (Bug# 19835) */
|
|
||||||
if (block_info.next_filepos == HA_OFFSET_ERROR)
|
|
||||||
goto panic;
|
|
||||||
info->rec_cache.seek_not_done=1;
|
info->rec_cache.seek_not_done=1;
|
||||||
if ((b_type= _mi_get_block_info(&block_info, file, filepos))
|
if ((b_type= _mi_get_block_info(&block_info, file, filepos))
|
||||||
& (BLOCK_DELETED | BLOCK_ERROR | BLOCK_SYNC_ERROR |
|
& (BLOCK_DELETED | BLOCK_ERROR | BLOCK_SYNC_ERROR |
|
||||||
|
Loading…
x
Reference in New Issue
Block a user