getpwent bug?

Dan Nelson dnelson at allantgroup.com
Fri Jul 16 18:13:20 UTC 2010


In the last episode (Jul 16), Jens Rehsack said:
> On 07/16/10 15:07, Dan Nelson wrote:
> > In the last episode (Jul 16), Jens Rehsack said:
> >> Could you please take a look to my other mail (getgrent related) - there
> >> seems another bug ...
> >
> > Do you have another one-liner that will reproduce it?  A simple
> > "/usr/bin/getent group" doesn't return dupes for me.  Oddly enough, the
> > *grent code doesn't use an internal counter, so the bug you found in
> > endpwent doesn't exist in endgrent (afaik; the nsswitch code isn't that
> > easy to read).
> 
> Not really a one-liner:
> perl -MData::Dumper -e 'setgrent; my %dupchk; while( my ( $name, $grpass, 
> $gid, $members ) = getgrent() ) { print "$name is returned more than once 
> (No $dupchk{$name} comes here)\n" if( $dupchk{$name}++ ); print Dumper( [ 
> $name, $grpass, $gid, $members ] ) };'
> 
> setgrent() doesn't work here.

I ran that and got dupes for group entries that exist both in /etc/groups and
my LDAP source, but that's expected.

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-questions mailing list