From c9f5cb97af6d3ef853f84a19602efea715016734 Mon Sep 17 00:00:00 2001 From: Monty Date: Fri, 12 Jun 2020 17:03:15 +0300 Subject: Added checks for uninitalized memory when writing to IO_CACHE This was done to be able to track some cases of unallocated memory in replication tests reported by MSAN. --- include/my_sys.h | 4 ++-- mysys/mf_iocache.c | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/my_sys.h b/include/my_sys.h index c0381997957..29d019d96b8 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -24,9 +24,7 @@ C_MODE_START #include - #include - #include /* for CHARSET_INFO */ #include #include @@ -509,6 +507,7 @@ static inline int my_b_read(IO_CACHE *info, uchar *Buffer, size_t Count) static inline int my_b_write(IO_CACHE *info, const uchar *Buffer, size_t Count) { + MEM_CHECK_DEFINED(Buffer, Count); if (info->write_pos + Count <= info->write_end) { memcpy(info->write_pos, Buffer, Count); @@ -530,6 +529,7 @@ static inline int my_b_get(IO_CACHE *info) static inline my_bool my_b_write_byte(IO_CACHE *info, uchar chr) { + MEM_CHECK_DEFINED(&chr, 1); if (info->write_pos >= info->write_end) if (my_b_flush_io_cache(info, 1)) return 1; diff --git a/mysys/mf_iocache.c b/mysys/mf_iocache.c index d222dd8c99c..2e34cef5d19 100644 --- a/mysys/mf_iocache.c +++ b/mysys/mf_iocache.c @@ -1566,6 +1566,8 @@ int my_b_append(IO_CACHE *info, const uchar *Buffer, size_t Count) { size_t rest_length,length; + MEM_CHECK_DEFINED(Buffer, Count); + /* Assert that we cannot come here with a shared cache. If we do one day, we might need to add a call to copy_to_read_buffer(). -- cgit v1.2.1