summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorunknown <ingo@mysql.com>2006-07-05 11:24:50 +0200
committerunknown <ingo@mysql.com>2006-07-05 11:24:50 +0200
commit55736ce5efb9b023b131232936ab8e431adbd30b (patch)
tree6a5bdf804a40c601e7ccfce2271f3e71b9220a06 /myisam
parenta4a905f3fb426efb8bd2071d0ceb3a4c799f0f48 (diff)
parent9ad8a373f186b6f8f1edcb15f5f4f2dd6e60df7a (diff)
downloadmariadb-git-55736ce5efb9b023b131232936ab8e431adbd30b.tar.gz
Merge mysql.com:/home/mydev/mysql-4.1-bug19835
into mysql.com:/home/mydev/mysql-5.0-ateam 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 8de500a7351..bc0389980b9 100644
--- a/myisam/mi_dynrec.c
+++ b/myisam/mi_dynrec.c
@@ -1155,6 +1155,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))