diff options
author | Alexander Barkov <bar@mariadb.com> | 2018-03-27 09:40:10 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2018-03-27 09:40:10 +0400 |
commit | e8c2366bf87a89f87feac16d1cf98551ddb6bd40 (patch) | |
tree | c1d1c020bf532bbe9698cd52225b87cb4b2a541f /sql/sql_yacc.yy | |
parent | ddc5c65333a4add28907ccb82054ecba0ff6b873 (diff) | |
download | mariadb-git-e8c2366bf87a89f87feac16d1cf98551ddb6bd40.tar.gz |
MDEV-15620 Crash when using "SET @@NEW.a=expr" inside a trigger
A simple patch fixing the problem in 5.5.
Note, a full patch was previously fixed to 10.3.
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r-- | sql/sql_yacc.yy | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index e1c6b5b6276..bf47153c0c1 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -13567,6 +13567,11 @@ option_value: | '@' '@' opt_var_ident_type internal_variable_name equal set_expr_or_default { struct sys_var_with_base tmp= $4; + if (tmp.var == trg_new_row_fake_var) + { + my_error(ER_UNKNOWN_SYSTEM_VARIABLE, MYF(0), "NEW"); + MYSQL_YYABORT; + } /* Lookup if necessary: must be a system variable. */ if (tmp.var == NULL) { |