svn commit: samba r18245 - in
branches/SAMBA_4_0/source/lib/ldb/common: .
simo
idra at samba.org
Fri Sep 8 14:21:46 GMT 2006
Sorry,
I should drink more coffe in the morning!
I just realized that you steal it on tmp_ctx, not ldb, and that this
actually fixes the memory leak, doh!
Simo.
On Fri, 2006-09-08 at 10:19 -0400, simo wrote:
> 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