Commit 6181b5bd authored by unknown's avatar unknown

fixed coredump in SET PASSWORD in slave thread.


mysql-test/t/rpl000001.test:
  added test for replicaion of set password
sql/sql_acl.cc:
  fixed coredump on slave in the case of SET PASSWORD
parent b85d67d9
...@@ -5,6 +5,8 @@ drop table if exists t1; ...@@ -5,6 +5,8 @@ drop table if exists t1;
create table t1 (word char(20) not null); create table t1 (word char(20) not null);
load data infile '../../std_data/words.dat' into table t1; load data infile '../../std_data/words.dat' into table t1;
drop table if exists foo; drop table if exists foo;
set password = password('foo');
set password = password('');
create table foo(n int); create table foo(n int);
insert into foo values(1),(2); insert into foo values(1),(2);
save_master_pos; save_master_pos;
......
...@@ -781,8 +781,8 @@ bool change_password(THD *thd, const char *host, const char *user, ...@@ -781,8 +781,8 @@ bool change_password(THD *thd, const char *host, const char *user,
length=(uint) strlen(new_password); length=(uint) strlen(new_password);
new_password[length & 16]=0; new_password[length & 16]=0;
if (!thd || strcmp(thd->user,user) || if (!thd || (!thd->slave_thread && ( strcmp(thd->user,user) ||
my_strcasecmp(host,thd->host ? thd->host : thd->ip)) my_strcasecmp(host,thd->host ? thd->host : thd->ip))))
{ {
if (check_access(thd, UPDATE_ACL, "mysql",0,1)) if (check_access(thd, UPDATE_ACL, "mysql",0,1))
return 1; return 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment