diff options
author | Alexander Barkov <bar@mariadb.com> | 2020-05-30 13:50:37 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2020-05-30 14:00:56 +0400 |
commit | 0bf843cd13981b03920bfc49c646b28a130f5d47 (patch) | |
tree | b66a252f27ac6e4d1fbe3430ad09fc478ec20592 /sql/sql_admin.cc | |
parent | ccdfcedf10610a32ce7d173e2936c29cb10df75c (diff) | |
download | mariadb-git-0bf843cd13981b03920bfc49c646b28a130f5d47.tar.gz |
MDEV-20366 Server crashes in get_current_user upon SET PASSWORD via SP
The opt_for_user subrule was incorrectly scanned before sp_create_assignment_lex(),
so the user name and the host were created on a wrong memory root.
- Reoganizing the grammar to make sure that sp_create_assignment_lex()
is called immediately after PASSWORD_SYM is scanned, so all attributes
are then allocated on its memory root.
- Moving the semantic code as methods to LEX, so the grammar looks as simple as possible.
- Changing text_or_password to be of the data type USER_AUTH*.
As a side effect, the LEX::definer member is now not used when processing
the SET PASSWORD statement. Everything is done using Bison's stack.
The bug sas introduced by this commit:
commit bf5a144e1692f6cc6a6d781b7e75ff4abf32bdf3
Diffstat (limited to 'sql/sql_admin.cc')
0 files changed, 0 insertions, 0 deletions