* grp.cc (internal_getgroups): Do not return without closing

the process handle.
This commit is contained in:
Corinna Vinschen 2003-02-04 17:53:08 +00:00
parent 4a21c2d5c8
commit 0daf256192
2 changed files with 26 additions and 20 deletions

View File

@ -1,3 +1,8 @@
2003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
* grp.cc (internal_getgroups): Do not return without closing
the process handle.
2003-02-04 Pierre Humblet <pierre.humblet@ieee.org> 2003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
* security.h (class cygpsid): New class. * security.h (class cygpsid): New class.

View File

@ -263,10 +263,11 @@ internal_getgroups (int gidsetsize, __gid32_t *grouplist, cygpsid * srchsid)
if (srchsid) if (srchsid)
{ {
for (DWORD pg = 0; pg < groups->GroupCount; ++pg) for (DWORD pg = 0; pg < groups->GroupCount; ++pg)
if (*srchsid == groups->Groups[pg].Sid) if ((cnt = (*srchsid == groups->Groups[pg].Sid)))
return 1; break;
return 0; cnt = -1;
} }
else
for (int gidx = 0; (gr = internal_getgrent (gidx)); ++gidx) for (int gidx = 0; (gr = internal_getgrent (gidx)); ++gidx)
if (sid.getfromgr (gr)) if (sid.getfromgr (gr))
for (DWORD pg = 0; pg < groups->GroupCount; ++pg) for (DWORD pg = 0; pg < groups->GroupCount; ++pg)