summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2018-03-27 09:40:10 +0400
committerAlexander Barkov <bar@mariadb.com>2018-03-27 09:40:10 +0400
commite8c2366bf87a89f87feac16d1cf98551ddb6bd40 (patch)
treec1d1c020bf532bbe9698cd52225b87cb4b2a541f /sql/sql_yacc.yy
parentddc5c65333a4add28907ccb82054ecba0ff6b873 (diff)
downloadmariadb-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.yy5
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)
{