From 55134df21e79194855523eea5fbfd899b4cf1475 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Mon, 26 Feb 2007 12:53:08 +0000 Subject: (RefreshUsersFull) fix crash when /etc/passwd contains mixed UTF-8 & ISO-Latin1 encoded characters (#28888) --- userdrake | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/userdrake b/userdrake index 6bf7d52..32d161f 100755 --- a/userdrake +++ b/userdrake @@ -218,7 +218,14 @@ sub RefreshUsersFull { $utree_model->clear; my @UserReal; LOOP: foreach my $l (@$users) { next LOOP if $filterusers && $l->Uid($GetValue) <= 499 || $l->Uid($GetValue) == 65534; push(@UserReal, $l) if $l->UserName($GetValue) =~ /^\Q$strfilt/ } + my $i; foreach my $l (@UserReal) { + $i++; + my $uid = $l->Uid($GetValue); + if (!defined $uid) { + warn "bogus user at line $i\n"; + next; + } my $a = $l->Gid($GetValue); $group = $ctx->LookupGroupById($a); $groupnm = ''; $expr = ComputeLockExpire($l); $group and $groupnm = $group->GroupName($GetValue); my $s = $l->Gecos($GetValue); -- cgit v1.2.1