aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2003-02-18 10:09:37 +0000
committerCorinna Vinschen <corinna@vinschen.de>2003-02-18 10:09:37 +0000
commitafe13e845405e56077925c4f7af02691a265675f (patch)
tree3e3851664914bc87b4a978f0d1bf8e2d8a31090e
parentc7887f970580f470cc6e44fd396a203db6dd2222 (diff)
downloadnewlib-afe13e845405e56077925c4f7af02691a265675f.zip
newlib-afe13e845405e56077925c4f7af02691a265675f.tar.gz
newlib-afe13e845405e56077925c4f7af02691a265675f.tar.bz2
* grp.cc (internal_getgroups): Handle properly tokens with
no groups. Fix bug introduced on 2003-02-04.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/grp.cc4
2 files changed, 6 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index bdff5fa..aa1c4e2 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-17 Pierre Humblet <pierre.humblet@ieee.org>
+
+ * grp.cc (internal_getgroups): Handle properly tokens with
+ no groups. Fix bug introduced on 2003-02-04.
+
2003-02-16 Christopher Faylor <cgf@redhat.com>
* cygwin.din: Export all appropriate newlibc libm functions. Sort.
diff --git a/winsup/cygwin/grp.cc b/winsup/cygwin/grp.cc
index 2d385c6..a0d73ae 100644
--- a/winsup/cygwin/grp.cc
+++ b/winsup/cygwin/grp.cc
@@ -267,7 +267,6 @@ internal_getgroups (int gidsetsize, __gid32_t *grouplist, cygpsid * srchsid)
for (DWORD pg = 0; pg < groups->GroupCount; ++pg)
if ((cnt = (*srchsid == groups->Groups[pg].Sid)))
break;
- cnt = -1;
}
else
for (int gidx = 0; (gr = internal_getgrent (gidx)); ++gidx)
@@ -293,8 +292,7 @@ internal_getgroups (int gidsetsize, __gid32_t *grouplist, cygpsid * srchsid)
debug_printf ("%d = GetTokenInformation(NULL) %E", size);
if (hToken != cygheap->user.token)
CloseHandle (hToken);
- if (cnt)
- return cnt;
+ return cnt;
}
gid = myself->gid;