bug-coreutils
[Top][All Lists]
Advanced

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

bug#7320: [PATCH] 'id' prints incorrectly groups for the session


From: Jim Meyering
Subject: bug#7320: [PATCH] 'id' prints incorrectly groups for the session
Date: Wed, 25 Jun 2014 19:45:22 -0700

On Wed, Jun 25, 2014 at 6:53 PM, Pádraig Brady <address@hidden> wrote:
> 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.

Nice patch. Looks perfect.  Thanks to both of you.





reply via email to

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