summaryrefslogtreecommitdiff
path: root/sql/sql_lex.cc
diff options
context:
space:
mode:
authorAndrei Elkin <andrei.elkin@oracle.com>2011-12-14 15:33:43 +0200
committerAndrei Elkin <andrei.elkin@oracle.com>2011-12-14 15:33:43 +0200
commitb100506323e75d42bc9a678b84dbde776eeb27b4 (patch)
tree1ec0c35015d2e9a86531ae60f09cfc8678fe522d /sql/sql_lex.cc
parente2268b8e1ef9f62258ee85225265d4afa9ad340f (diff)
downloadmariadb-git-b100506323e75d42bc9a678b84dbde776eeb27b4.tar.gz
Bug#13437900 - VALGRIND REPORTS A LEAK FOR REPL_IGNORE_SERVER_IDS
There was memory leak when running some tests on PB2. The reason of the failure is an early return from change_master() that was supposed to deallocate a dyn-array. Actually the same bug58915 was fixed in trunk with relocating the dyn-array destruction into THD::cleanup_after_query() which can't be bypassed. The current patch backports magne.mahre@oracle.com-20110203101306-q8auashb3d7icxho and adds two optimizations: were done: the static buffer for the dyn-array to base on, and the array initialization is called precisely when it's necessary rather than per each CHANGE-MASTER as before.
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r--sql/sql_lex.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc
index 869a5916339..0cabab9fae7 100644
--- a/sql/sql_lex.cc
+++ b/sql/sql_lex.cc
@@ -2351,6 +2351,7 @@ LEX::LEX()
plugins_static_buffer,
INITIAL_LEX_PLUGIN_LIST_SIZE,
INITIAL_LEX_PLUGIN_LIST_SIZE);
+ memset(&mi, 0, sizeof(LEX_MASTER_INFO));
reset_query_tables_list(TRUE);
}