Avoid potential crash at startup or in getgroups(2).

* grp.cc (internal_getgroups): Handle negative domain index to avoid
	crashes.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2015-04-01 13:15:18 +02:00
parent adbc3d4bb1
commit 71a897e40d
3 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2015-04-01 Corinna Vinschen <corinna@vinschen.de>
* grp.cc (internal_getgroups): Handle negative domain index to avoid
crashes.
2015-03-31 Renato Silva <br.renatosilva@gmail.com>
* net.cc (cygwin_gethostname): Fix buffer size error handling.

View File

@ -643,13 +643,17 @@ internal_getgroups (int gidsetsize, gid_t *grouplist, cyg_ldap *pldap)
{
for (ULONG ncnt = 0; ncnt < scnt; ++ncnt)
{
static UNICODE_STRING empty = { 0, 0, (PWSTR) L"" };
fetch_acc_t full_acc =
{
.sid = sidp_buf[ncnt],
.name = &nlst[ncnt].Name,
.dom = &dlst->Domains[nlst[ncnt].DomainIndex].Name,
.dom = &empty,
.acc_type = nlst[ncnt].Use
};
if (nlst[ncnt].DomainIndex >= 0)
full_acc.dom = &dlst->Domains[nlst[ncnt].DomainIndex].Name;
if ((grp = internal_getgrfull (full_acc, pldap)))
{
if (cnt < gidsetsize)

View File

@ -32,3 +32,6 @@ Bug Fixes
- Avoid creating passwd and group records from fully qualified Windows
account names (domain\name, name@domain).
Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00528.html
- Avoid potential crash at startup or in getgroups(2).
Addresses: https://cygwin.com/ml/cygwin/2015-04/msg00010.html