Various fixes to fix memory leaks after merging replication
tree with main. sql/sql_binlog.cc: Adding code to free memory after execution of BINLOG statement. It caused a memory leak in the case that the execution failed for any reason. sql/sql_class.cc: Since rli_fake is checked for NULL at various occations to mean that no rli_fake is assigned, NULL is assigned to rli_fake after deleting the instance.
This commit is contained in:
parent
f12a155ae7
commit
abe4c14ae9
@ -234,6 +234,7 @@ void mysql_client_binlog_statement(THD* thd)
|
|||||||
send_ok(thd);
|
send_ok(thd);
|
||||||
|
|
||||||
end:
|
end:
|
||||||
|
thd->rli_fake->clear_tables_to_lock();
|
||||||
my_free(buf, MYF(MY_ALLOW_ZERO_PTR));
|
my_free(buf, MYF(MY_ALLOW_ZERO_PTR));
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
@ -870,7 +870,10 @@ THD::~THD()
|
|||||||
#endif
|
#endif
|
||||||
#ifndef EMBEDDED_LIBRARY
|
#ifndef EMBEDDED_LIBRARY
|
||||||
if (rli_fake)
|
if (rli_fake)
|
||||||
|
{
|
||||||
delete rli_fake;
|
delete rli_fake;
|
||||||
|
rli_fake= NULL;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
free_root(&main_mem_root, MYF(0));
|
free_root(&main_mem_root, MYF(0));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user