diff options
author | Sergei Golubchik <serg@mariadb.org> | 2022-11-01 22:22:23 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2022-11-02 00:31:20 +0100 |
commit | 5dc804c3bb30d6a629036f57a1dfcac8df041fef (patch) | |
tree | b97e6a0a36760cc0d1fb89eb1cc2ec3b1e83f41b /sql/sql_acl.cc | |
parent | 00c56e1c7c6cac21c583a57f40b87b9113adeffd (diff) | |
download | mariadb-git-5dc804c3bb30d6a629036f57a1dfcac8df041fef.tar.gz |
MDEV-29752 SHOW GRANTS for PUBLIC should work for all users
Diffstat (limited to 'sql/sql_acl.cc')
-rw-r--r-- | sql/sql_acl.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 1bb58383654..65cdd63f2ef 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -7726,7 +7726,7 @@ bool mysql_grant_role(THD *thd, List <LEX_USER> &list, bool revoke) if (has_auth(user, thd->lex)) DBUG_ASSERT(!grantee); - else if (!grantee) + else if (!grantee && !user->is_public) grantee= find_user_exact(hostname.str, username.str); if (!grantee && !revoke) @@ -9464,7 +9464,7 @@ bool get_show_user(THD *thd, LEX_USER *lex_user, const char **username, if (lex_user->is_role()) { *rolename= lex_user->user.str; - do_check_access= strcmp(*rolename, sctx->priv_role); + do_check_access= !lex_user->is_public && strcmp(*rolename, sctx->priv_role); } else { |