svn commit: samba r13253 - in branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules: .

abartlet at samba.org abartlet at samba.org
Tue Jan 31 03:20:19 GMT 2006


Author: abartlet
Date: 2006-01-31 03:20:18 +0000 (Tue, 31 Jan 2006)
New Revision: 13253

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=13253

Log:
More work to ensure that we don't keep data on long-term contexts.

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/kludge_acl.c


Changeset:
Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/kludge_acl.c
===================================================================
--- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/kludge_acl.c	2006-01-31 03:15:16 UTC (rev 13252)
+++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/kludge_acl.c	2006-01-31 03:20:18 UTC (rev 13253)
@@ -199,6 +199,7 @@
 		talloc_free(mem_ctx);
 		return ret;
 	}
+	talloc_steal(mem_ctx, res);
 	if (res->count == 0) {
 		talloc_free(mem_ctx);
 		data->password_attrs = NULL;
@@ -206,6 +207,7 @@
 	}
 
 	if (res->count > 1) {
+		talloc_free(mem_ctx);
 		return LDB_ERR_CONSTRAINT_VIOLATION;
 	}
 
@@ -213,10 +215,12 @@
 
 	password_attributes = ldb_msg_find_element(msg, "passwordAttribute");
 	if (!password_attributes) {
+		talloc_free(mem_ctx);
 		return LDB_SUCCESS;
 	}
 	data->password_attrs = talloc_array(data, const char *, password_attributes->num_values + 1);
 	if (!data->password_attrs) {
+		talloc_free(mem_ctx);
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 	for (i=0; i < password_attributes->num_values; i++) {
@@ -224,6 +228,7 @@
 		talloc_steal(data->password_attrs, password_attributes->values[i].data);
 	}
 	data->password_attrs[i] = NULL;
+	talloc_free(mem_ctx);
 	return LDB_SUCCESS;
 }
 



More information about the samba-cvs mailing list