diff options
author | Jon Olav Hauglid <jon.hauglid@oracle.com> | 2012-01-09 11:33:26 +0100 |
---|---|---|
committer | Jon Olav Hauglid <jon.hauglid@oracle.com> | 2012-01-09 11:33:26 +0100 |
commit | 63a0c3078b708bb7f985e33d22e5127244466aff (patch) | |
tree | a7aa2696cedf959b55bf3d17f88c037baee0e837 /sql/sql_yacc.yy | |
parent | 86701392fcc4950056e9b28a8ce140c660a5df5f (diff) | |
parent | 6c1bbb50cb9ee124e762f66004a3daad297e6d6f (diff) | |
download | mariadb-git-63a0c3078b708bb7f985e33d22e5127244466aff.tar.gz |
Merge from mysql-5.1-security to mysql-5.5-security
Text conflict in sql/sql_yacc.yy
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r-- | sql/sql_yacc.yy | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 8f3e6373666..bf7ca6b02ed 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -2739,9 +2739,15 @@ sp_decl: sp_instr_hpush_jump *i= new sp_instr_hpush_jump(sp->instructions(), ctx, $2, ctx->current_var_count()); - if (i == NULL || - sp->add_instr(i) || - sp->push_backpatch(i, ctx->push_label((char *)"", 0))) + if (i == NULL || sp->add_instr(i)) + MYSQL_YYABORT; + + /* For continue handlers, mark end of handler scope. */ + if ($2 == SP_HANDLER_CONTINUE && + sp->push_backpatch(i, ctx->last_label())) + MYSQL_YYABORT; + + if (sp->push_backpatch(i, ctx->push_label(empty_c_string, 0))) MYSQL_YYABORT; } sp_hcond_list sp_proc_stmt |