From 7a87f779a5d5ae8dd05be89d0980e2360748b9ec Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Sun, 29 Oct 2017 18:37:54 -0700 Subject: [PATCH] Skip duplicate users https://github.com/webmin/webmin/issues/673 --- group_chooser.cgi | 2 ++ user_chooser.cgi | 2 ++ 2 files changed, 4 insertions(+) diff --git a/group_chooser.cgi b/group_chooser.cgi index 28c9a097d..ba9d30d47 100755 --- a/group_chooser.cgi +++ b/group_chooser.cgi @@ -191,7 +191,9 @@ if ($access{'gedit_mode'} == 2 || $access{'gedit_mode'} == 3) { map { $gcan{$_}++ } split(/\s+/, $access{'gedit'}); } setgrent(); +local %doneg; while(@ginfo = getgrent()) { + next if ($doneg{$ginfo[0]}++); @mems = &unique( split(/ /, $ginfo[3]), @{$members{$ginfo[2]}} ); if (@mems > 3) { @mems = (@mems[0..1], "..."); } $ginfo[3] = join(' ', @mems); diff --git a/user_chooser.cgi b/user_chooser.cgi index bd3c5d354..78fdada46 100755 --- a/user_chooser.cgi +++ b/user_chooser.cgi @@ -182,7 +182,9 @@ if ($access{'uedit_mode'} == 2 || $access{'uedit_mode'} == 3) { map { $ucan{$_}++ } split(/\s+/, $access{'uedit'}); } setpwent(); +local %doneu; while(@uinfo = getpwent()) { + next if ($doneu{$uinfo[0]}++); if ($access{'uedit_mode'} == 5 && $access{'uedit'} !~ /^\d+$/) { # Get group for matching by group name @ginfo = getgrgid($uinfo[3]);