Loading mysql-test/r/grant.result +9 −0 Original line number Diff line number Diff line Loading @@ -464,3 +464,12 @@ show grants for root@localhost; Grants for root@localhost GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION set names latin1; insert into mysql.user (host, user) values ('', 'mysqltest_7'); flush privileges; set password for mysqltest_7@ = password('systpass'); show grants for mysqltest_7@; Grants for mysqltest_7@ GRANT USAGE ON *.* TO 'mysqltest_7'@'' IDENTIFIED BY PASSWORD '*2FB071A056F9BB745219D9C876814231DAF46517' drop user mysqltest_7@; show grants for mysqltest_7@; ERROR 42000: There is no such grant defined for user 'mysqltest_7' on host '' mysql-test/t/grant.test +12 −0 Original line number Diff line number Diff line Loading @@ -421,4 +421,16 @@ revoke all privileges on show grants for root@localhost; set names latin1; # # Bug #15598 Server crashes in specific case during setting new password # - Caused by a user with host '' # insert into mysql.user (host, user) values ('', 'mysqltest_7'); flush privileges; set password for mysqltest_7@ = password('systpass'); show grants for mysqltest_7@; drop user mysqltest_7@; --error 1141 show grants for mysqltest_7@; # End of 4.1 tests sql/sql_acl.cc +3 −2 Original line number Diff line number Diff line Loading @@ -1371,7 +1371,8 @@ find_acl_user(const char *host, const char *user, my_bool exact) acl_user->user && !strcmp(user,acl_user->user)) { if (exact ? !my_strcasecmp(&my_charset_latin1, host, acl_user->host.hostname) : acl_user->host.hostname ? acl_user->host.hostname : "") : compare_hostname(&acl_user->host,host,host)) { DBUG_RETURN(acl_user); Loading Loading @@ -3605,7 +3606,7 @@ ACL_USER *check_acl_user(LEX_USER *user_name, if (!(user=acl_user->user)) user= ""; if (!(host=acl_user->host.hostname)) host= "%"; host= ""; if (!strcmp(user_name->user.str,user) && !my_strcasecmp(system_charset_info, user_name->host.str, host)) break; Loading Loading
mysql-test/r/grant.result +9 −0 Original line number Diff line number Diff line Loading @@ -464,3 +464,12 @@ show grants for root@localhost; Grants for root@localhost GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION set names latin1; insert into mysql.user (host, user) values ('', 'mysqltest_7'); flush privileges; set password for mysqltest_7@ = password('systpass'); show grants for mysqltest_7@; Grants for mysqltest_7@ GRANT USAGE ON *.* TO 'mysqltest_7'@'' IDENTIFIED BY PASSWORD '*2FB071A056F9BB745219D9C876814231DAF46517' drop user mysqltest_7@; show grants for mysqltest_7@; ERROR 42000: There is no such grant defined for user 'mysqltest_7' on host ''
mysql-test/t/grant.test +12 −0 Original line number Diff line number Diff line Loading @@ -421,4 +421,16 @@ revoke all privileges on show grants for root@localhost; set names latin1; # # Bug #15598 Server crashes in specific case during setting new password # - Caused by a user with host '' # insert into mysql.user (host, user) values ('', 'mysqltest_7'); flush privileges; set password for mysqltest_7@ = password('systpass'); show grants for mysqltest_7@; drop user mysqltest_7@; --error 1141 show grants for mysqltest_7@; # End of 4.1 tests
sql/sql_acl.cc +3 −2 Original line number Diff line number Diff line Loading @@ -1371,7 +1371,8 @@ find_acl_user(const char *host, const char *user, my_bool exact) acl_user->user && !strcmp(user,acl_user->user)) { if (exact ? !my_strcasecmp(&my_charset_latin1, host, acl_user->host.hostname) : acl_user->host.hostname ? acl_user->host.hostname : "") : compare_hostname(&acl_user->host,host,host)) { DBUG_RETURN(acl_user); Loading Loading @@ -3605,7 +3606,7 @@ ACL_USER *check_acl_user(LEX_USER *user_name, if (!(user=acl_user->user)) user= ""; if (!(host=acl_user->host.hostname)) host= "%"; host= ""; if (!strcmp(user_name->user.str,user) && !my_strcasecmp(system_charset_info, user_name->host.str, host)) break; Loading