GNU bug report logs - #7320
'group' command gives wrong/extra group

Previous Next

Package: coreutils;

Reported by: owen <at> illinois.edu

Date: Tue, 2 Nov 2010 21:41:01 UTC

Severity: normal

Tags: fixed

Fixed in version 8.18

Done: Jim Meyering <meyering <at> hx.meyering.net>

Bug is archived. No further changes may be made.

Full log


Message #49 received at 7320 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Pádraig Brady <P <at> draigbrady.com>
Cc: Petr Stodůlka <pstodulk <at> redhat.com>,
 Coreutils <coreutils <at> gnu.org>, 7320 <at> debbugs.gnu.org
Subject: Re: [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 <P <at> draigbrady.com> 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.




This bug report was last modified 10 years and 331 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.