diff options
author | Alexander Barkov <bar@mariadb.com> | 2021-12-22 13:12:40 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2021-12-22 13:12:40 +0400 |
commit | a5ef74e7eb4bab09c9bda4fcd7fab12302526ea4 (patch) | |
tree | 7195b963353558aa74df1e3a52f826444a7a30e0 /client/mysql.cc | |
parent | 3b33593f80442214640eefb2ce75c34698c8043b (diff) | |
download | mariadb-git-a5ef74e7eb4bab09c9bda4fcd7fab12302526ea4.tar.gz |
MDEV-27195 SIGSEGV in Table_scope_and_contents_source_st::vers_check_system_fieldsbb-10.3-bar-MDEV-27195
The old code erroneously used default_charset_info to compare field names.
default_charset_info can point to any arbitrary collation,
including ucs2*, utf16*, utf32*, including those that do not
support strcasecmp().
my_charset_utf8mb4_unicode_ci, which is used in this scenario:
CREATE TABLE t1 ENGINE=InnoDB WITH SYSTEM VERSIONING AS SELECT 0;
does not support strcasecmp().
Fixing the code to use Lex_ident::streq(), which uses
system_charset_info instead of default_charset_info.
Diffstat (limited to 'client/mysql.cc')
0 files changed, 0 insertions, 0 deletions