summaryrefslogtreecommitdiff
path: root/mysql-test/include
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2023-02-26 18:33:10 +0200
committerMonty <monty@mariadb.org>2023-02-27 19:25:44 +0200
commit57c526ffb852fb027e25fdc77173d45bdc60b8a2 (patch)
tree0865d590f2d9432587fac628cb8525da8bc42caf /mysql-test/include
parent0de3be8cfdfc26f5c236eaefe12d03c7b4af22c8 (diff)
downloadmariadb-git-57c526ffb852fb027e25fdc77173d45bdc60b8a2.tar.gz
Added detection of memory overwrite with multi_mallocbb-10.5-monty
This patch also fixes some bugs detected by valgrind after this patch: - Not enough copy_func elements was allocated by Create_tmp_table() which causes an memory overwrite in Create_tmp_table::add_fields() I added an ASSERT() to be able to detect this also without valgrind. The bug was that TMP_TABLE_PARAM::copy_fields was not correctly set when calling create_tmp_table(). - Aria::empty_bits is not allocated if there is no varchar/char/blob fields in the table. Fixed code to take this into account. This cannot cause any issues as this is just a memory access into other Aria memory and the content of the memory would not be used. - Aria::last_key_buff was not allocated big enough. This may have caused issues with rtrees and ma_extra(HA_EXTRA_REMEMBER_POS) as they would use the same memory area. - Aria and MyISAM didn't take extended key parts into account, which caused problems when copying rec_per_key from engine to sql level. - Mark asan builds with 'asan' in version strihng to detect these in not_valgrind_build.inc. This is needed to not have main.sp-no-valgrind fail with asan.
Diffstat (limited to 'mysql-test/include')
-rw-r--r--mysql-test/include/not_valgrind_build.inc4
1 files changed, 2 insertions, 2 deletions
diff --git a/mysql-test/include/not_valgrind_build.inc b/mysql-test/include/not_valgrind_build.inc
index 2b60f11bfc7..b62a1bc953b 100644
--- a/mysql-test/include/not_valgrind_build.inc
+++ b/mysql-test/include/not_valgrind_build.inc
@@ -1,4 +1,4 @@
-if (`select version() like '%valgrind%'`)
+if (`select version() like '%valgrind%' || version() like '%asan%'`)
{
- skip Does not run with binaries built with valgrind;
+ skip Does not run with binaries built with valgrind or asan;
}