[SCM] Samba Shared Repository - branch master updated

Matthias Dieter Wallnöfer mdw at samba.org
Thu Jul 1 08:43:28 MDT 2010


The branch, master has been updated
       via  21c2155... s4:lib/registry/ldb.c - free some "msg" objects earlier through explicit "talloc_free"s
      from  de8a339... s4:registry - move some common constraint checks to the "local" backend

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 21c215512661907832570d18e7e61b3bb6447dcf
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date:   Thu Jul 1 16:35:12 2010 +0200

    s4:lib/registry/ldb.c - free some "msg" objects earlier through explicit "talloc_free"s
    
    No other functional change

-----------------------------------------------------------------------

Summary of changes:
 source4/lib/registry/ldb.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/lib/registry/ldb.c b/source4/lib/registry/ldb.c
index 122f565..c14ee70 100644
--- a/source4/lib/registry/ldb.c
+++ b/source4/lib/registry/ldb.c
@@ -417,8 +417,10 @@ static WERROR ldb_get_default_value(TALLOC_CTX *mem_ctx,
 		return WERR_FOOBAR;
 	}
 
-	if (res->count == 0 || res->msgs[0]->num_elements == 0)
+	if (res->count == 0 || res->msgs[0]->num_elements == 0) {
+		talloc_free(res);
 		return WERR_BADFILE;
+	}
 
 	if ((data_type != NULL) && (data != NULL)) {
 		reg_ldb_unpack_value(mem_ctx, res->msgs[0], name, data_type,
@@ -647,6 +649,9 @@ static WERROR ldb_del_value(TALLOC_CTX *mem_ctx, struct hive_key *key,
 		ldb_msg_add_empty(msg, "type", LDB_FLAG_MOD_DELETE, NULL);
 
 		ret = ldb_modify(kd->ldb, msg);
+
+		talloc_free(msg);
+
 		if (ret != LDB_SUCCESS) {
 			DEBUG(1, ("ldb_del_value: %s\n", ldb_errstring(kd->ldb)));
 			return WERR_FOOBAR;
@@ -758,6 +763,8 @@ static WERROR ldb_del_key(TALLOC_CTX *mem_ctx, const struct hive_key *key,
 			}
 		}
 	}
+	talloc_free(res_keys);
+	talloc_free(res_vals);
 
 	/* Delete the key itself */
 	ret = ldb_delete(c, ldb_path);
@@ -836,6 +843,8 @@ static WERROR ldb_set_value(struct hive_key *parent,
 		ret = LDB_SUCCESS;
 	}
 
+	talloc_free(msg);
+
 	if (ret != LDB_SUCCESS) {
 		DEBUG(1, ("ldb_set_value: %s\n", ldb_errstring(kd->ldb)));
 		talloc_free(mem_ctx);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list