summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--storage/myisam/mi_dynrec.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/storage/myisam/mi_dynrec.c b/storage/myisam/mi_dynrec.c
index ccaafa914a9..8d45333137e 100644
--- a/storage/myisam/mi_dynrec.c
+++ b/storage/myisam/mi_dynrec.c
@@ -1354,13 +1354,13 @@ int _mi_read_dynamic_record(MI_INFO *info, my_off_t filepos, byte *buf)
block_info.second_read= 0;
do
{
+ /* A corrupted table can have wrong pointers. (Bug# 19835) */
+ if (filepos == HA_OFFSET_ERROR)
+ goto panic;
if (info->opt_flag & WRITE_CACHE_USED &&
info->rec_cache.pos_in_file < filepos + MI_BLOCK_INFO_HEADER_LENGTH &&
flush_io_cache(&info->rec_cache))
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;
if ((b_type= _mi_get_block_info(&block_info, file, filepos))
& (BLOCK_DELETED | BLOCK_ERROR | BLOCK_SYNC_ERROR |