From: Date: April 25 2006 12:20am Subject: bk commit into 5.0 tree (stewart:1.2093) BUG#19318 List-Archive: http://lists.mysql.com/commits/5438 X-Bug: 19318 Message-Id: <20060424222050.EEF6E141BF6F@localhost.localdomain> Below is the list of changes that have just been committed into a local 5.0 repository of stewart. When stewart does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet 1.2093 06/04/24 15:20:45 stewart@stripped +2 -0 BUG#19318 valgrind: memory leak in ndb_mgmd clean up after ConfigValuesFactory ndb/src/common/util/ConfigValues.cpp 1.9 06/04/24 15:20:41 stewart@stripped +7 -1 Free m_cfg on destruct (if we've set it). Also getConfigValues() instead of m_cfg ndb/include/util/ConfigValues.hpp 1.4 06/04/24 15:20:41 stewart@stripped +1 -0 We now have a destructor # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: stewart # Host: willster.(none) # Root: /home/stewart/Documents/MySQL/5.0/bug19318 --- 1.3/ndb/include/util/ConfigValues.hpp 2004-08-05 07:21:31 -07:00 +++ 1.4/ndb/include/util/ConfigValues.hpp 2006-04-24 15:20:41 -07:00 @@ -96,6 +96,7 @@ public: ConfigValuesFactory(Uint32 keys = 50, Uint32 data = 10); // Initial ConfigValuesFactory(ConfigValues * m_cfg); // + ~ConfigValuesFactory(); ConfigValues * m_cfg; ConfigValues * getConfigValues(); --- 1.8/ndb/src/common/util/ConfigValues.cpp 2004-10-22 08:13:02 -07:00 +++ 1.9/ndb/src/common/util/ConfigValues.cpp 2006-04-24 15:20:41 -07:00 @@ -294,6 +294,12 @@ } } +ConfigValuesFactory::~ConfigValuesFactory() +{ + if(m_cfg) + free(m_cfg); +} + ConfigValues * ConfigValuesFactory::create(Uint32 keys, Uint32 data){ Uint32 sz = sizeof(ConfigValues); @@ -528,7 +534,7 @@ } } - ConfigValues * ret = fac->m_cfg; + ConfigValues * ret = fac->getConfigValues(); delete fac; return ret; }