1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-28 13:01:41 +03:00
unknown e6a077e348 Bug#33618 (Crash in sp_rcontext)
Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)

The server used to crash when REPEAT or another control instruction
was used in conjunction with labels and a LEAVE instruction.

The crash was caused by a missing "pop" of handlers or cursors in the
code representing the stored program. When executing the code in a loop,
this missing "pop" would result in a stack overflow, corrupting memory.

Code generation has been fixed to produce the missing h_pop/c_pop
instructions.

Also, the logic checking that labels at the beginning and the end of a
statement are matched was incorrect, causing Bug 33983.
End labels, when used, must match the label used at the beginning of a block.


mysql-test/r/sp-code.result:
  Bug#33618 (Crash in sp_rcontext)
mysql-test/r/sp-error.result:
  Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
mysql-test/r/sp.result:
  Bug#33618 (Crash in sp_rcontext)
mysql-test/t/sp-code.test:
  Bug#33618 (Crash in sp_rcontext)
mysql-test/t/sp-error.test:
  Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
mysql-test/t/sp.test:
  Bug#33618 (Crash in sp_rcontext)
sql/sp_head.cc:
  Bug#33618 (Crash in sp_rcontext)
sql/sp_head.h:
  Bug#33618 (Crash in sp_rcontext)
sql/sp_rcontext.cc:
  Bug#33618 (Crash in sp_rcontext)
sql/sp_rcontext.h:
  Bug#33618 (Crash in sp_rcontext)
sql/sql_yacc.yy:
  Bug#33618 (Crash in sp_rcontext)
2008-01-23 13:26:41 -07:00
..
2006-12-31 01:02:27 +01:00
2007-08-29 22:29:07 +02:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2007-07-12 00:55:40 +05:00
2006-12-31 01:02:27 +01:00
2007-01-31 00:06:42 +01:00
2006-12-31 01:02:27 +01:00
2007-12-13 23:46:29 +04:00
2007-11-05 20:18:22 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-23 20:17:15 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-09-01 10:32:12 +02:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-23 20:17:15 +01:00
2007-04-06 18:56:39 +04:00
2006-12-23 20:17:15 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2007-02-08 15:53:14 +01:00
2006-12-23 20:17:15 +01:00
2006-12-23 20:17:15 +01:00
2008-01-23 13:26:41 -07:00
2008-01-23 13:26:41 -07:00
2008-01-23 13:26:41 -07:00
2006-12-23 20:17:15 +01:00
2007-07-05 18:24:48 +03:00
2006-12-31 01:02:27 +01:00
2006-12-23 20:17:15 +01:00
2007-08-17 16:55:20 +02:00
2007-11-20 20:15:20 +04:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2007-03-29 10:35:28 +04:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2007-07-01 15:33:28 -07:00
2006-12-23 20:17:15 +01:00
2006-12-31 01:02:27 +01:00
2007-09-04 16:40:27 -06:00
2007-07-31 16:15:56 +04:00
2006-12-23 20:17:15 +01:00
2008-01-23 13:26:41 -07:00
2006-12-23 20:17:15 +01:00
2007-03-22 20:32:07 +02:00
2006-12-31 01:02:27 +01:00
2006-12-23 20:17:15 +01:00
2007-07-01 15:33:28 -07:00
2007-11-10 21:39:30 +04:00
2007-08-03 01:58:21 +05:00