summaryrefslogtreecommitdiff
path: root/sql/sp_cache.cc
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2022-04-13 17:17:17 +0400
committerAlexander Barkov <bar@mariadb.com>2022-04-21 09:51:11 +0400
commit2be617d869e614e2c0e7313fd77649a03c891cfd (patch)
treed1f788014294c6f451f98a36937b8eea0f76e4d7 /sql/sp_cache.cc
parent5ba77222e9fe7af8ff403816b5338b18b342053c (diff)
downloadmariadb-git-2be617d869e614e2c0e7313fd77649a03c891cfd.tar.gz
MDEV-25243 ASAN heap-use-after-free in Item_func_sp::execute_impl upon concurrent view DDL and I_S query with view and function
Diffstat (limited to 'sql/sp_cache.cc')
-rw-r--r--sql/sp_cache.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/sql/sp_cache.cc b/sql/sp_cache.cc
index bc91634eb32..9829167d29d 100644
--- a/sql/sp_cache.cc
+++ b/sql/sp_cache.cc
@@ -313,3 +313,15 @@ sp_cache::cleanup()
{
my_hash_free(&m_hashtable);
}
+
+
+void Sp_caches::sp_caches_clear()
+{
+ sp_cache_clear(&sp_proc_cache);
+ sp_cache_clear(&sp_func_cache);
+#if MYSQL_VERSION_ID >= 100300
+#error Remove the preprocessor condition, !!!but keep the code!!!
+ sp_cache_clear(&sp_package_spec_cache);
+ sp_cache_clear(&sp_package_body_cache);
+#endif
+}