mirror of
https://github.com/MariaDB/server.git
synced 2025-01-27 01:04:19 +01:00
bugfix to #1224
code slightly modified with Monty's suggestions libmysqld/lib_sql.cc: copying of pointers replaced with my_strdup()-s sql/sql_class.cc: this code should work anyway now
This commit is contained in:
parent
a5af8f1f80
commit
58e442caf3
2 changed files with 4 additions and 6 deletions
|
@ -484,7 +484,7 @@ int check_embedded_connection(MYSQL *mysql)
|
|||
THD *thd= (THD*)mysql->thd;
|
||||
thd->host= (char*)my_localhost;
|
||||
thd->host_or_ip= thd->host;
|
||||
thd->user= mysql->user;
|
||||
thd->user= my_strdup(mysql->user, MYF(0));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -498,8 +498,8 @@ int check_embedded_connection(MYSQL *mysql)
|
|||
|
||||
if (mysql->options.client_ip)
|
||||
{
|
||||
thd->host= mysql->options.client_ip;
|
||||
thd->ip= thd->host;
|
||||
thd->host= my_strdup(mysql->options.client_ip, MYF(0));
|
||||
thd->ip= my_strdup(thd->host, MYF(0));
|
||||
}
|
||||
else
|
||||
thd->host= (char*)my_localhost;
|
||||
|
@ -511,7 +511,7 @@ int check_embedded_connection(MYSQL *mysql)
|
|||
goto err;
|
||||
}
|
||||
|
||||
thd->user= mysql->user;
|
||||
thd->user= my_strdup(mysql->user, MYF(0));
|
||||
if (mysql->passwd && mysql->passwd[0])
|
||||
{
|
||||
memset(thd->scramble, 55, SCRAMBLE_LENGTH); // dummy scramble
|
||||
|
|
|
@ -323,13 +323,11 @@ THD::~THD()
|
|||
#endif
|
||||
|
||||
DBUG_PRINT("info", ("freeing host"));
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
if (host != my_localhost) // If not pointer to constant
|
||||
safeFree(host);
|
||||
if (user != delayed_user)
|
||||
safeFree(user);
|
||||
safeFree(ip);
|
||||
#endif
|
||||
safeFree(db);
|
||||
free_root(&warn_root,MYF(0));
|
||||
free_root(&transaction.mem_root,MYF(0));
|
||||
|
|
Loading…
Add table
Reference in a new issue