MDEV-22521 Server crashes in traverse_role_graph_up or Assertion `user' fails in traverse_role_graph_impl
This commit is contained in:
parent
4860fe244b
commit
4635218cb0
5
mysql-test/suite/roles/drop_current_role.result
Normal file
5
mysql-test/suite/roles/drop_current_role.result
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
create role r;
|
||||||
|
set role r;
|
||||||
|
drop role r;
|
||||||
|
revoke all on *.* from current_role;
|
||||||
|
ERROR 42000: There is no such grant defined for user 'r' on host ''
|
9
mysql-test/suite/roles/drop_current_role.test
Normal file
9
mysql-test/suite/roles/drop_current_role.test
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
--source include/not_embedded.inc
|
||||||
|
#
|
||||||
|
# MDEV-22521 Server crashes in traverse_role_graph_up or Assertion `user' fails in traverse_role_graph_impl
|
||||||
|
#
|
||||||
|
create role r;
|
||||||
|
set role r;
|
||||||
|
drop role r;
|
||||||
|
error ER_NONEXISTING_GRANT;
|
||||||
|
revoke all on *.* from current_role;
|
@ -4977,6 +4977,8 @@ static void propagate_role_grants(ACL_ROLE *role,
|
|||||||
enum PRIVS_TO_MERGE::what what,
|
enum PRIVS_TO_MERGE::what what,
|
||||||
const char *db= 0, const char *name= 0)
|
const char *db= 0, const char *name= 0)
|
||||||
{
|
{
|
||||||
|
if (!role)
|
||||||
|
return;
|
||||||
|
|
||||||
mysql_mutex_assert_owner(&acl_cache->lock);
|
mysql_mutex_assert_owner(&acl_cache->lock);
|
||||||
PRIVS_TO_MERGE data= { what, db, name };
|
PRIVS_TO_MERGE data= { what, db, name };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user