diff options
author | unknown <ingo/mydev@chilla.local> | 2006-07-08 19:27:16 +0200 |
---|---|---|
committer | unknown <ingo/mydev@chilla.local> | 2006-07-08 19:27:16 +0200 |
commit | 0eaab5b74c2ea5e4a8c4274ac0d01538d07c5c7c (patch) | |
tree | d83f161af1f93ea735889d242045cbc34e3b874b /myisam | |
parent | 6db432cd855c870194e526aaf42f40060f03528e (diff) | |
parent | 9ad8a373f186b6f8f1edcb15f5f4f2dd6e60df7a (diff) | |
download | mariadb-git-0eaab5b74c2ea5e4a8c4274ac0d01538d07c5c7c.tar.gz |
Merge chilla.local:/home/mydev/mysql-4.1-bug19835
into chilla.local:/home/mydev/mysql-4.1-amerge
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/mi_dynrec.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/myisam/mi_dynrec.c b/myisam/mi_dynrec.c index 43783ca2d36..1b691c955f1 100644 --- a/myisam/mi_dynrec.c +++ b/myisam/mi_dynrec.c @@ -1116,6 +1116,9 @@ int _mi_read_dynamic_record(MI_INFO *info, my_off_t filepos, byte *buf) info->rec_cache.pos_in_file <= block_info.next_filepos && 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, block_info.next_filepos)) |