diff options
author | Alexander Barkov <bar@mariadb.com> | 2021-10-08 20:44:38 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2021-10-11 17:43:23 +0400 |
commit | eadd87880887e6ca73e6f292c9d856df7e56c3c0 (patch) | |
tree | d27bb701a9015bba0494e1ff042ead5258bae2a9 /mysql-test/r | |
parent | 9300b6657752e566a3c72da7ca6eaa8ee052e4e1 (diff) | |
download | mariadb-git-eadd87880887e6ca73e6f292c9d856df7e56c3c0.tar.gz |
MDEV-23269 SIGSEGV in ft_boolean_check_syntax_string on setting ft_boolean_syntaxbb-10.2-bar-MDEV-23269
The crash happened because my_isalnum() does not support character
sets with mbminlen>1.
The value of "ft_boolean_syntax" is converted to utf8 in do_string_check().
So calling my_isalnum() is combination with "default_charset_info" was wrong.
Adding new parameters (size_t length, CHARSET_INFO *cs) to
ft_boolean_check_syntax_string() and passing self->charset(thd)
as the character set.
Diffstat (limited to 'mysql-test/r')
-rw-r--r-- | mysql-test/r/ctype_utf16_def.result | 5 | ||||
-rw-r--r-- | mysql-test/r/ctype_utf32_def.result | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/mysql-test/r/ctype_utf16_def.result b/mysql-test/r/ctype_utf16_def.result index 98b6f7d913d..b5827d45619 100644 --- a/mysql-test/r/ctype_utf16_def.result +++ b/mysql-test/r/ctype_utf16_def.result @@ -8,3 +8,8 @@ character_set_server utf16 SHOW VARIABLES LIKE 'ft_stopword_file'; Variable_name Value ft_stopword_file (built-in) +# +# MDEV-23269 SIGSEGV in ft_boolean_check_syntax_string on setting ft_boolean_syntax +# +SET GLOBAL ft_boolean_syntax='+ -><()~*:""&|'; +SET GLOBAL ft_boolean_syntax=DEFAULT; diff --git a/mysql-test/r/ctype_utf32_def.result b/mysql-test/r/ctype_utf32_def.result new file mode 100644 index 00000000000..611072eb75b --- /dev/null +++ b/mysql-test/r/ctype_utf32_def.result @@ -0,0 +1,6 @@ +call mtr.add_suppression("'utf32' can not be used as client character set"); +# +# MDEV-23269 SIGSEGV in ft_boolean_check_syntax_string on setting ft_boolean_syntax +# +SET GLOBAL ft_boolean_syntax='+ -><()~*:""&|'; +SET GLOBAL ft_boolean_syntax=DEFAULT; |