1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Fix for memory leaks introduced with the push of patch for bug#22740.

Original patch did not have these leaks, they were introduced later
during manual applying of the patch.


sql/event_data_objects.cc:
  Original patch was not aware of the requirement to delete lex.sphead
  before doing anything else (bug#21856), and that was missed when the
  patch was applied later.
sql/event_scheduler.cc:
  The line was lost during manual patch applying.
This commit is contained in:
unknown
2007-01-31 21:16:48 +03:00
parent 59d9b52fc6
commit 6560c2aa04
2 changed files with 12 additions and 5 deletions

View File

@@ -1811,16 +1811,21 @@ Event_job_data::compile(THD *thd, MEM_ROOT *mem_root)
DBUG_PRINT("error", ("error during compile or thd->is_fatal_error: %d",
thd->is_fatal_error));
/*
Free lex associated resources
QQ: Do we really need all this stuff here?
The first thing we do after parse error is freeing sp_head to
ensure that we have restored original memroot.
*/
if (lex.sphead)
{
/* Clean up after failed stored procedure/function */
delete lex.sphead;
lex.sphead= NULL;
}
lex.unit.cleanup();
sql_print_error("SCHEDULER: Error during compilation of %s.%s or "
"thd->is_fatal_error: %d",
dbname.str, name.str, thd->is_fatal_error);
lex.unit.cleanup();
delete lex.sphead;
sphead= lex.sphead= NULL;
ret= EVEX_COMPILE_ERROR;
goto done;
}