From f140bd7e38947847a1bb9a42dbb9c6760e5c3756 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 8 Sep 2006 04:04:30 +0000 Subject: r18245: Ensure we don't keep the rootdse record around (steal it onto the correct memory context). Andrew Bartlett (This used to be commit b4f234e507fa94e9600c362fb6edb704d299cfce) --- source4/lib/ldb/common/ldb.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'source4/lib/ldb/common/ldb.c') diff --git a/source4/lib/ldb/common/ldb.c b/source4/lib/ldb/common/ldb.c index 04ac3e7d81..5aa243ac7a 100644 --- a/source4/lib/ldb/common/ldb.c +++ b/source4/lib/ldb/common/ldb.c @@ -162,12 +162,14 @@ static const struct ldb_dn *ldb_set_default_basedn(struct ldb_context *ldb) 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; } -- cgit