svn commit: samba r23283 - in branches/SAMBA_3_0/source/nsswitch: .

Michael Adam ma at sernet.de
Fri Jun 1 09:07:51 GMT 2007


On Thu, May 31, 2007 at 08:41:14PM -0700, Jeremy Allison wrote:
> On Thu, May 31, 2007 at 11:55:40PM +0000, obnox at samba.org wrote:
> > Author: obnox
> > Date: 2007-05-31 23:55:37 +0000 (Thu, 31 May 2007)
> > New Revision: 23283
> > 
> > WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23283
> > 
> > Log:
> > Use a temporary talloc context in ads:lookup_groupmem. 
> > And clean up unused stuff at the end.
> > Daringly, I use talloc_steal at some point, where it 
> > appears natural to me.
> 
> Rather than using talloc_steal() here :
> 
> (*names)[*num_names] = talloc_steal(names, names_nocache[i]);
> 
> please talloc_move() instead, as that's what you're
> actually doing.
> 
> It should look like :
> 
> (*names)[*num_names] = talloc_move(tmp_ctx, &names_nocache[i]);
> 
> as you should no longer be accessing names_nocache[i] after
> the move.

Hi Jeremy, 

this is what I did first, as it thought it best suited.
But it gives me compile warnings:

Compiling nsswitch/winbindd_ads.c
nsswitch/winbindd_ads.c: In function `lookup_groupmem':
nsswitch/winbindd_ads.c:1057: warning: cast from pointer to integer of different size
nsswitch/winbindd_ads.c:1057: warning: assignment makes pointer from integer without a cast

An so I fell back to talloc_steal.
Are you telling me that this is not harmful?

Maybe the talloc_move macro should be extended to look like the
talloc_steal macro? Some extended casting is performed in talloc_steal:

#define talloc_steal(ctx, ptr) ({ \
	_TALLOC_TYPEOF(ptr) __talloc_steal_ret = \
		(_TALLOC_TYPEOF(ptr))_talloc_steal((ctx),(ptr)); \
	__talloc_steal_ret; \
})

vs.

#define talloc_move(ctx, ptr) ( \
	_TALLOC_TYPEOF(*(ptr)))_talloc_move((ctx),(void *)(ptr) \
)

(I added some whitespace and "\" here)

Cheers, Michael

-- 
Michael Adam <ma at sernet.de>
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.SerNet.DE, mailto: Info @ SerNet.DE


More information about the samba-technical mailing list