summaryrefslogtreecommitdiff
path: root/sql/sql_acl.cc
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2016-12-21 20:11:14 +0100
committerOleksandr Byelkin <sanja@mariadb.com>2016-12-28 20:35:19 +0100
commit23cc1be270c7304963643947d8e5ab88f4e312ee (patch)
treec2b8d39a472df5f2188f9404254a78ef9202e941 /sql/sql_acl.cc
parent283e9cf4cbb34e1325699707068ab72ec3accfff (diff)
downloadmariadb-git-23cc1be270c7304963643947d8e5ab88f4e312ee.tar.gz
MDEV-11584: GRANT inside an SP does not work well on 2nd execution
Allocate password hash in statment memory
Diffstat (limited to 'sql/sql_acl.cc')
-rw-r--r--sql/sql_acl.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index 3f26bc2e08a..2accb3abc91 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -1067,7 +1067,12 @@ static bool fix_lex_user(THD *thd, LEX_USER *user)
make_scramble= my_make_scrambled_password;
}
+ Query_arena *arena, backup;
+ arena= thd->activate_stmt_arena_if_needed(&backup);
char *buff= (char *) thd->alloc(scramble_length + 1);
+ if (arena)
+ thd->restore_active_arena(arena, &backup);
+
if (buff == NULL)
return true;
make_scramble(buff, user->pwtext.str, user->pwtext.length);