From 5feb60ce186a41ba97f4c9dc4ab23bab4e87296e Mon Sep 17 00:00:00 2001 From: Oleksandr Byelkin Date: Thu, 23 Jun 2022 14:48:29 +0200 Subject: 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 --- mysys/mf_keycache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mysys') diff --git a/mysys/mf_keycache.c b/mysys/mf_keycache.c index 8f62869b57e..8aa60064e06 100644 --- a/mysys/mf_keycache.c +++ b/mysys/mf_keycache.c @@ -701,7 +701,7 @@ int prepare_resize_simple_key_cache(SIMPLE_KEY_CACHE_CB *keycache, keycache->in_resize= 1; /* Need to flush only if keycache is enabled. */ - if (keycache->can_be_used) + if (keycache->can_be_used && keycache->disk_blocks != -1) { /* Start the flush phase. */ keycache->resize_in_flush= 1; -- cgit v1.2.1