From: Andrew Bartlett Date: Fri, 17 Aug 2012 02:42:15 +0000 (+1000) Subject: s4-dsdb: Ensure we always free tmp_ctx in schema refresh check X-Git-Tag: samba-4.0.0beta7~158 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a7b8e9f562780dc6a3487644623decd1cff226e2;p=thirdparty%2Fsamba.git s4-dsdb: Ensure we always free tmp_ctx in schema refresh check This was found based on a log provided by Ricky Nance . Thanks Ricky! In that log, over 2.5 days this particular allocation was repeated: 1715099 talloc_new: ../source4/dsdb/samdb/ldb_modules/schema_load.c:120 contains 0 bytes in 1 blocks Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Fri Aug 17 06:21:18 CEST 2012 on sn-devel-104 --- diff --git a/source4/dsdb/samdb/ldb_modules/schema_load.c b/source4/dsdb/samdb/ldb_modules/schema_load.c index 82ae7d84dd3..be7915e03cb 100644 --- a/source4/dsdb/samdb/ldb_modules/schema_load.c +++ b/source4/dsdb/samdb/ldb_modules/schema_load.c @@ -131,8 +131,10 @@ static int schema_metadata_get_uint64(struct ldb_module *module, if (!tdb_data.dptr) { if (tdb_error(tdb) == TDB_ERR_NOEXIST) { *value = default_value; + talloc_free(tmp_ctx); return LDB_SUCCESS; } else { + talloc_free(tmp_ctx); return ldb_module_error(module, LDB_ERR_OPERATIONS_ERROR, tdb_errorstr_compat(tdb)); }