summaryrefslogtreecommitdiff
path: root/sql/sp_head.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sp_head.cc')
-rw-r--r--sql/sp_head.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/sp_head.cc b/sql/sp_head.cc
index 6b7cdb1ea98..6a7676c7bf2 100644
--- a/sql/sp_head.cc
+++ b/sql/sp_head.cc
@@ -671,6 +671,7 @@ sp_head::destroy()
DBUG_ASSERT(m_lex.is_empty() || m_thd);
while ((lex= (LEX *)m_lex.pop()))
{
+ lex_end(m_thd->lex);
delete m_thd->lex;
m_thd->lex= lex;
}
@@ -1643,7 +1644,10 @@ sp_head::restore_lex(THD *thd)
*/
merge_table_list(thd, sublex->query_tables, sublex);
if (! sublex->sp_lex_in_use)
+ {
+ lex_end(sublex);
delete sublex;
+ }
thd->lex= oldlex;
DBUG_VOID_RETURN;
}