diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2022-06-23 14:48:29 +0200 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2022-06-24 10:03:23 +0200 |
commit | 5feb60ce186a41ba97f4c9dc4ab23bab4e87296e (patch) | |
tree | 2b2683d044c62b5bec1fb6302b43a822d5bce60b /mysql-test/main/key_cache.result | |
parent | 3e09c6199dc4c74ee628cf01486927e4d3261887 (diff) | |
download | mariadb-git-5feb60ce186a41ba97f4c9dc4ab23bab4e87296e.tar.gz |
MDEV-22590 SIGSEGV in flush_all_key_blocks when changing key_buffer_size / ASAN: heap-use-after-free in flush_all_key_blocks
Take into account that in preparation of a simple key cache for resizing no disk blocks might be assigned to it.
Reviewer: IgorBabaev <igor@mariadb.com>
Diffstat (limited to 'mysql-test/main/key_cache.result')
-rw-r--r-- | mysql-test/main/key_cache.result | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/mysql-test/main/key_cache.result b/mysql-test/main/key_cache.result index 1146ae8bbfa..3c5ed7679f9 100644 --- a/mysql-test/main/key_cache.result +++ b/mysql-test/main/key_cache.result @@ -834,3 +834,25 @@ set global keycache2.key_buffer_size=0; set global key_buffer_size=@save_key_buffer_size; set global key_cache_segments=@save_key_cache_segments; set global key_cache_file_hash_size=@save_key_cache_file_hash_size; +# +# SIGSEGV in flush_all_key_blocks when changing +# key_buffer_size / ASAN: heap-use-after-free in flush_all_key_blocks +# +SET GLOBAL keycache1.key_cache_segments=7; +SET GLOBAL keycache1.key_buffer_size=1*1024*1024; +SET GLOBAL keycache1.key_buffer_size=0; +SET GLOBAL keycache1.key_buffer_size=128*1024; +create table t1 (p int primary key, a char(10)) delay_key_write=1; +cache index t1 key (`primary`) in keycache1; +Table Op Msg_type Msg_text +test.t1 assign_to_keycache status OK +insert into t1 values (1, 'qqqq'), (11, 'yyyy'); +select * from t1; +p a +1 qqqq +11 yyyy +drop table t1; +SET GLOBAL keycache1.key_buffer_size=0; +# +# End of 10.3 tests +# |