mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
sql_parse.cc:
Fix for the bug 1175: Usernames will not converted to utf8 during connect
This commit is contained in:
parent
b15ea37fc7
commit
37467ebe07
1 changed files with 9 additions and 0 deletions
|
@ -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))))
|
||||
|
|
Loading…
Add table
Reference in a new issue