diff --git a/source/lib/username.c b/source/lib/username.c index 7baf3618b93..ad44c0c5444 100644 --- a/source/lib/username.c +++ b/source/lib/username.c @@ -267,6 +267,13 @@ static BOOL user_in_group_list(char *user,char *gname) { struct group *gptr; char **member; + struct passwd *pass = Get_Pwnam(user,False); + + if (pass) { + gptr = getgrgid(pass->pw_gid); + if (gptr && strequal(gptr->gr_name,gname)) + return True; + } if ((gptr = (struct group *)getgrnam(gname)) == NULL) return False;