From 229cc612776f757de6822eb97eb4e9a97226e760 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 24 Dec 2003 17:58:06 +0400 Subject: [PATCH] sql_parse.cc: Fix for the bug 1175: Usernames will not converted to utf8 during connect sql/sql_parse.cc: Fix for the bug 1175: Usernames will not converted to utf8 during connect --- sql/sql_parse.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 678d0890136..465d840e2b8 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -834,6 +834,7 @@ static int check_connection(THD *thd) char *passwd= strend(user)+1; char *db= passwd; char db_buff[NAME_LEN+1]; // buffer to store db in utf8 + char user_buff[USERNAME_LENGTH+1]; // buffer to store user in utf8 /* Old clients send null-terminated string as password; new clients send the size (1 byte) + string (not null-terminated). Hence in case of empty @@ -854,6 +855,14 @@ static int check_connection(THD *thd) db= db_buff; } + if (user) + { + user_buff[copy_and_convert(user_buff, sizeof(user_buff)-1, + system_charset_info, user, strlen(user), + thd->charset())]= '\0'; + user= user_buff; + } + if (thd->user) x_free(thd->user); if (!(thd->user= my_strdup(user, MYF(0))))