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