diff options
author | Alexander Barkov <bar@mysql.com> | 2009-06-04 14:35:29 +0500 |
---|---|---|
committer | Alexander Barkov <bar@mysql.com> | 2009-06-04 14:35:29 +0500 |
commit | d7bfc76deccc60636a4fbb4bebc386b9ec6bb184 (patch) | |
tree | fa1662dd6b0f2049fed909d113209d0d4aaf5283 /strings | |
parent | 5fb8b93e98a57ee55143b8b1de9cefeaf6d7bb95 (diff) | |
download | mariadb-git-d7bfc76deccc60636a4fbb4bebc386b9ec6bb184.tar.gz |
Bug#43827 Server closes connections and restarts
Problem:
Crash happened with a user-defined utf8 collation,
on attempt to insert a value longer than the column
to store.
Reason:
The "ctype" member was not initialized (NULL) when
allocating a user-defined utf8 collation, so an attempt
to call my_ctype(cs, *str) to check if we loose any important
data when truncating the value made the server crash.
Fix:
Initializing tge "ctype" member to a proper value.
mysql-test/r/ctype_ldml.result
Adding tests
mysql-test/t/ctype_ldml.test
Adding tests
strings/ctype-uca.c
Adding initialization of "ctype" member.
modified:
mysql-test/r/ctype_ldml.result
mysql-test/t/ctype_ldml.test
strings/ctype-uca.c
Diffstat (limited to 'strings')
-rw-r--r-- | strings/ctype-uca.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/strings/ctype-uca.c b/strings/ctype-uca.c index 1ed758bc105..2ea48ddab2f 100644 --- a/strings/ctype-uca.c +++ b/strings/ctype-uca.c @@ -7992,6 +7992,7 @@ static my_bool create_tailoring(CHARSET_INFO *cs, void *(*alloc)(size_t)) static my_bool my_coll_init_uca(CHARSET_INFO *cs, void *(*alloc)(size_t)) { cs->pad_char= ' '; + cs->ctype= my_charset_utf8_unicode_ci.ctype; return create_tailoring(cs, alloc); } |