coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] 'id' prints incorrectly groups for the session


From: Pádraig Brady
Subject: Re: [PATCH] 'id' prints incorrectly groups for the session
Date: Thu, 26 Jun 2014 02:53:08 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2

On 06/25/2014 01:17 PM, Petr Stodůlka wrote:
> Hi,
> 
> command 'id' prints wrong groups for the session. This is similar to reported 
> bug #7320 [0],
> which was patched earlier for 'groups' and 'id -G', however just 'id' still 
> prints wrong groups.
> I propose this patch based on previous solution:
> ----------------------------------------------------------------------
> diff --git a/src/id.c b/src/id.c
> index 3348f80..6cfe884 100644
> --- a/src/id.c
> +++ b/src/id.c
> @@ -399,8 +399,12 @@ print_full_info (const char *username)
>      gid_t *groups;
>      int i;
> 
> -    int n_groups = xgetgroups (username, (pwd ? pwd->pw_gid : -1),
> -                               &groups);
> +    int n_groups;
> +    if(username)
> +      n_groups = xgetgroups (username, (pwd ? pwd->pw_gid : -1),
> +                             &groups);
> +    else
> +      n_groups = xgetgroups (username, egid, &groups);
>      if (n_groups < 0)
>        {
>          if (username)
> --------------------------------------------------------------------
> 
> [0] http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7320

Logic looks correct.
The attached refactors slightly, and adds a test and NEWS.
I'll apply upon your ack.

thanks!
Pádraig.

Attachment: id-effective-group.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]