diff options
author | Alexander Barkov <bar@mariadb.com> | 2019-12-11 15:09:17 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2019-12-12 16:25:16 +0400 |
commit | e0f9540bcc6ab1618b6fd475f02e019401c4c295 (patch) | |
tree | da554e11e2ad9c9eea4b67efc7e221ce4609564c /mysql-test/suite/innodb_zip | |
parent | ce47e66516ec1319dacaa3880d21622af6e00ad7 (diff) | |
download | mariadb-git-e0f9540bcc6ab1618b6fd475f02e019401c4c295.tar.gz |
MDEV-20667 Server crash on pop_cursor
When backpatching a forward GOTO label, the old code erroneously
used CURSOR/HANDLER difference between context frames "c" and "a" to tune
a cpop/hpop command. So the cpop/hpop command later tried to pop
all cursors/handlers declared between "a" and "c", but those between
"b" and "c" were not cpushed/hpoped yet during the execution of "GOTO x".
Fixing the code to use the difference between frames "b" and "a" only.
BEGIN -- a
...
GOTO x; -- b
...
<<x>> -- c
...
END -- d
Diffstat (limited to 'mysql-test/suite/innodb_zip')
0 files changed, 0 insertions, 0 deletions