mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-29852 SIGSEGV in mysql_create_routine or is_acl_user on 2nd execution, ASAN use-after-poison in get_current_user (sql_acl.cc)
if lex->definer is replaced, take care to restore it at the end of PS EXECUTE
This commit is contained in:
@ -2800,9 +2800,10 @@ bool sp_process_definer(THD *thd)
|
||||
}
|
||||
else
|
||||
{
|
||||
LEX_USER *d= lex->definer= get_current_user(thd, lex->definer);
|
||||
LEX_USER *d= get_current_user(thd, lex->definer);
|
||||
if (!d)
|
||||
DBUG_RETURN(TRUE);
|
||||
thd->change_item_tree((Item**)&lex->definer, (Item*)d);
|
||||
|
||||
/*
|
||||
If the specified definer differs from the current user or role, we
|
||||
|
Reference in New Issue
Block a user