diff options
author | Thierry Vignaud <tv@mandriva.org> | 2007-02-26 12:53:08 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2007-02-26 12:53:08 +0000 |
commit | 55134df21e79194855523eea5fbfd899b4cf1475 (patch) | |
tree | edabeee70dfea1881bdbc7df3f4f9a68e446ceca | |
parent | 997efb3e6b8538063ea6cc14052ba33905fdd6bb (diff) | |
download | userdrake-55134df21e79194855523eea5fbfd899b4cf1475.tar userdrake-55134df21e79194855523eea5fbfd899b4cf1475.tar.gz userdrake-55134df21e79194855523eea5fbfd899b4cf1475.tar.bz2 userdrake-55134df21e79194855523eea5fbfd899b4cf1475.tar.xz userdrake-55134df21e79194855523eea5fbfd899b4cf1475.zip |
(RefreshUsersFull) fix crash when /etc/passwd contains mixed UTF-8 &
ISO-Latin1 encoded characters (#28888)
-rwxr-xr-x | userdrake | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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); |