On 26.6.2014 03:53, Pádraig Brady 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.
thanks!
Pádraig.
Yes, it looks better now
Thanks
Petr