Commit 6f075478 authored by Sergei Golubchik's avatar Sergei Golubchik

MDEV-8614 Assertion `status == 0' failed in add_role_user_mapping_action on RENAME USER

don't forget to re-examine the current element when updating a HASH
parent 956e92d9
......@@ -56,3 +56,9 @@ Host User Role Admin_option
localhost root r1 Y
drop role r1;
drop user u2;
create user foo@localhost;
grant create user on *.* to foo@localhost;
create role look, isp, xxx, ppp;
rename user current_user to nnnn@'%';
drop role look, isp, xxx, ppp;
drop user nnnn@'%';
......@@ -54,3 +54,16 @@ select * from mysql.roles_mapping;
drop role r1;
drop user u2;
#
# MDEV-8614 Assertion `status == 0' failed in add_role_user_mapping_action on RENAME USER
#
create user foo@localhost;
grant create user on *.* to foo@localhost;
--connect (con1, localhost, foo,,)
create role look, isp, xxx, ppp;
rename user current_user to nnnn@'%';
drop role look, isp, xxx, ppp;
connection default;
disconnect con1;
drop user nnnn@'%';
......@@ -8977,8 +8977,7 @@ static int handle_grant_struct(enum enum_acl_lists struct_no, bool drop,
So we need to examine the current element once again, but
we don't need to restart the search from the beginning.
*/
if (idx != elements)
idx++;
idx++;
break;
}
......@@ -9010,6 +9009,7 @@ static int handle_grant_struct(enum enum_acl_lists struct_no, bool drop,
my_hash_update(roles_mappings_hash, (uchar*) role_grant_pair,
(uchar*) old_key, old_key_length);
idx++; // see the comment above
break;
}
......
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