Author: abartlet Date: 2006-09-08 04:04:30 +0000 (Fri, 08 Sep 2006) New Revision: 18245
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18245 Log: Ensure we don't keep the rootdse record around (steal it onto the correct memory context). Andrew Bartlett Modified: branches/SAMBA_4_0/source/lib/ldb/common/ldb.c Changeset: Modified: branches/SAMBA_4_0/source/lib/ldb/common/ldb.c =================================================================== --- branches/SAMBA_4_0/source/lib/ldb/common/ldb.c 2006-09-08 03:28:39 UTC (rev 18244) +++ branches/SAMBA_4_0/source/lib/ldb/common/ldb.c 2006-09-08 04:04:30 UTC (rev 18245) @@ -162,12 +162,14 @@ tmp_ctx = talloc_new(ldb); ret = ldb_search(ldb, ldb_dn_new(tmp_ctx), LDB_SCOPE_BASE, "(objectClass=*)", attrs, &res); - if (ret == LDB_SUCCESS && res->count == 1) { - basedn = ldb_msg_find_attr_as_dn(ldb, res->msgs[0], "defaultNamingContext"); + if (ret == LDB_SUCCESS) { + talloc_steal(tmp_ctx, res); + if (res->count == 1) { + basedn = ldb_msg_find_attr_as_dn(ldb, res->msgs[0], "defaultNamingContext"); + ldb_set_opaque(ldb, "default_baseDN", basedn); + } } - ldb_set_opaque(ldb, "default_baseDN", basedn); - talloc_free(tmp_ctx); return basedn; }