On Thu, Mar 26, 2015 at 03:42:07PM +0100, Ingo Schwarze wrote: > Hi Andrew (or any other developer), > > OK to commit the following fix? > > Note that chomping after splitting is important because split > drops trailing empty fields.
A blank home_dir is valid? I will defer to others on that but seems surprising to me. Although I haven't had time to apply the patch and try it, the implementation looks sane given that above is as expected. OK afresh1@ > Index: security > =================================================================== > RCS file: /cvs/src/libexec/security/security,v > retrieving revision 1.32 > diff -u -p -r1.32 security > --- security 4 Dec 2014 00:07:21 -0000 1.32 > +++ security 26 Mar 2015 14:23:53 -0000 > @@ -336,7 +336,16 @@ sub find_homes { > nag !(open my $fh, '<', $filename), > "open: $filename: $!" > and return []; > - my $homes = [ map [ @{[split /:/]}[0,2,5] ], <$fh> ]; > + my $homes = []; > + while (<$fh>) { > + my $entry = [ @{[split /:/]}[0,2,5] ]; > + chomp; > + nag !defined $entry->[2], > + "Incomplete line \"$_\" in $filename." > + and next; > + chomp $entry->[2]; > + push @$homes, $entry; > + } > close $fh; > return $homes; > } -- andrew - http://afresh1.com Unix is very simple, but it takes a genius to understand the simplicity. -- Dennis Ritchie