svn commit: samba r18245 - in
branches/SAMBA_4_0/source/lib/ldb/common: .
simo
idra at samba.org
Fri Sep 8 14:19:32 GMT 2006
Andrew, can you revert this?
ldb_msg_find_attr_as_dn() guarantees that basedn is talloc-ed on the ldb
context. It is completely useless to steal the whole structure and keep
all its memory around.
Simo.
On Fri, 2006-09-08 at 04:04 +0000, abartlet at samba.org wrote:
> 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;
> }
--
Simo Sorce
Samba Team GPL Compliance Officer
email: idra at samba.org
http://samba.org
More information about the samba-technical
mailing list