summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorunknown <ingo/mydev@chilla.local>2006-07-29 21:59:36 +0200
committerunknown <ingo/mydev@chilla.local>2006-07-29 21:59:36 +0200
commit86400c60b2a0180f25aabe912dd7e77128aafcec (patch)
treedaed6d3a2b6187c7a21fe4a3557cf6f08d76122d /myisam
parent884062f37458798ff7ccaf5f32b963c701968e5f (diff)
parent721b1d7fc69a32fab4c055691e8ee1fb93e0abda (diff)
downloadmariadb-git-86400c60b2a0180f25aabe912dd7e77128aafcec.tar.gz
Merge chilla.local:/home/mydev/mysql-4.1-bug20719
into chilla.local:/home/mydev/mysql-5.0-bug20719 myisam/mi_dynrec.c: Auto merged
Diffstat (limited to 'myisam')
-rw-r--r--myisam/mi_dynrec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/myisam/mi_dynrec.c b/myisam/mi_dynrec.c
index 45873e32992..f834cc5a724 100644
--- a/myisam/mi_dynrec.c
+++ b/myisam/mi_dynrec.c
@@ -1180,6 +1180,9 @@ 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))