Skip to content

Commit

Permalink
Update.
Browse files Browse the repository at this point in the history
	* nscd/nscd_initgroups.c (__nscd_getgrouplist): Always add the
	group the caller provided unless there is a real problem.
  • Loading branch information
Ulrich Drepper committed Oct 1, 2004
1 parent cb984ef commit 927f067
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 17 deletions.
3 changes: 3 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
2004-10-01 Ulrich Drepper <drepper@redhat.com>

* nscd/nscd_initgroups.c (__nscd_getgrouplist): Always add the
group the caller provided unless there is a real problem.

* posix/bug-glob1.c (prepare): Fix creation of symlink.

2004-09-30 Ulrich Drepper <drepper@redhat.com>
Expand Down
3 changes: 3 additions & 0 deletions nptl/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
2004-10-01 Ulrich Drepper <drepper@redhat.com>

* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
(__lll_mutex_timedlock_wait): Address futex correctly.

* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
(__lll_mutex_timedlock_wait): I woken but cannot get the lock,
make sure 2 is stored in the futex and we looked at the old value.
Expand Down
2 changes: 1 addition & 1 deletion nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ __lll_mutex_timedlock_wait:

/* Make sure the current holder knows we are going to sleep. */
movl %edx, %eax
xchgl %eax, (%ebx)
xchgl %eax, (%rdi)
testl %eax, %eax
jz 6b
jmp 1b
Expand Down
29 changes: 13 additions & 16 deletions nscd/nscd_initgroups.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ __nscd_getgrouplist (const char *user, gid_t group, long int *size,
doesn't use memcpy but instead copies each array element one
by one. */
assert (sizeof (int32_t) == sizeof (gid_t));
assert (initgr_resp->ngrps > 0);

/* Make sure we have enough room. We always count GROUP in even
though we might not end up adding it. */
Expand Down Expand Up @@ -125,25 +126,21 @@ __nscd_getgrouplist (const char *user, gid_t group, long int *size,
retval = initgr_resp->ngrps;
memcpy (*groupsp, respdata, retval * sizeof (gid_t));
}

/* Check whether GROUP is part of the mix. If not, add it. */
if (retval >= 0)
{
int cnt;
for (cnt = 0; cnt < retval; ++cnt)
if ((*groupsp)[cnt] == group)
break;

if (cnt == retval)
(*groupsp)[retval++] = group;
}
}
else
/* No group found yet. */
retval = 0;

/* Check whether GROUP is part of the mix. If not, add it. */
if (retval >= 0)
{
/* The `errno' to some value != ERANGE. */
__set_errno (ENOENT);
/* Even though we have not found anything, the result is zero. */
retval = 0;
int cnt;
for (cnt = 0; cnt < retval; ++cnt)
if ((*groupsp)[cnt] == group)
break;

if (cnt == retval)
(*groupsp)[retval++] = group;
}

if (sock != -1)
Expand Down

0 comments on commit 927f067

Please sign in to comment.