From 7b2ce66370f5e1a8a18dcc169acc9cfa8c1c7671 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 27 Feb 2003 17:41:15 +0000 Subject: [PATCH] * uinfo.cc (internal_getlogin): Only update user.groups.pgsid if the call to set the primary group succeeds. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/uinfo.cc | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 4065d80c8..472b838f9 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2003-02-27 Pierre Humblet + + * uinfo.cc (internal_getlogin): Only update user.groups.pgsid + if the call to set the primary group succeeds. + 2003-02-27 Christopher Faylor * cygthread::detach: Improve error message. diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc index cb620d8f4..6b07ea437 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc @@ -83,10 +83,11 @@ internal_getlogin (cygheap_user &user) if (gsid.getfromgr (internal_getgrgid (pw->pw_gid))) { /* Set primary group to the group in /etc/passwd. */ - user.groups.pgsid = gsid; if (!SetTokenInformation (ptok, TokenPrimaryGroup, &gsid, sizeof gsid)) debug_printf ("SetTokenInformation(TokenPrimaryGroup): %E"); + else + user.groups.pgsid = gsid; } else debug_printf ("gsid not found in augmented /etc/group");