diff options
author | Michael Widenius <monty@mariadb.org> | 2018-09-20 06:13:43 +0300 |
---|---|---|
committer | Michael Widenius <monty@mariadb.org> | 2018-10-05 14:25:40 +0300 |
commit | 6c97e85673602199f51dd4bbcb1cf93cbf47ffc9 (patch) | |
tree | 491cb05694964c0fb665bc0b12ed449ad22adba6 /sql/sql_string.h | |
parent | 29703e4f876d09eb0532c2089cf176a038f5fae5 (diff) | |
download | mariadb-git-6c97e85673602199f51dd4bbcb1cf93cbf47ffc9.tar.gz |
Remove valgrind warnings from Item_str_concat
This warning come from a copy() operation of type:
memcpy(ptr, ptr+A, B), which is safe but produces a warning
when run with valgrind.
To avoid the warning, I added copy_or_move() method which uses
memmove() instead of memcpy().
In 10.3 the change in item_strfunc::Item_func_concat() has to be mirroed
in Item_func_concat_oracle() to avoid future valgrind warnings.
Diffstat (limited to 'sql/sql_string.h')
-rw-r--r-- | sql/sql_string.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_string.h b/sql/sql_string.h index 4f86d0dd0f1..ea810f15f80 100644 --- a/sql/sql_string.h +++ b/sql/sql_string.h @@ -429,6 +429,7 @@ public: bool copy(); // Alloc string if not alloced bool copy(const String &s); // Allocate new string bool copy(const char *s,size_t arg_length, CHARSET_INFO *cs); // Allocate new string + bool copy_or_move(const char *s,size_t arg_length, CHARSET_INFO *cs); static bool needs_conversion(uint32 arg_length, CHARSET_INFO *cs_from, CHARSET_INFO *cs_to, uint32 *offset); |