aboutsummaryrefslogtreecommitdiff
path: root/posix/group_member.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2010-06-19 11:38:04 -0700
committerUlrich Drepper <drepper@redhat.com>2010-06-19 11:38:04 -0700
commitac2b484c02b01307ab6bbe5d45ddbf16d64edf8c (patch)
treed937bc5e083c7eddc92e3d26e496d2082627f027 /posix/group_member.c
parent63c4ed22b5048c8701d8806026c23cc95f0df756 (diff)
downloadglibc-ac2b484c02b01307ab6bbe5d45ddbf16d64edf8c.zip
glibc-ac2b484c02b01307ab6bbe5d45ddbf16d64edf8c.tar.gz
glibc-ac2b484c02b01307ab6bbe5d45ddbf16d64edf8c.tar.bz2
Correct checking loop in group_member.
Diffstat (limited to 'posix/group_member.c')
-rw-r--r--posix/group_member.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/posix/group_member.c b/posix/group_member.c
index 7bd9c46..892755e 100644
--- a/posix/group_member.c
+++ b/posix/group_member.c
@@ -1,5 +1,5 @@
/* `group_member' -- test if process is in a given group.
- Copyright (C) 1995, 1997, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1997, 2002, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -39,10 +39,11 @@ __group_member (gid)
groups = __alloca (size * sizeof *groups);
n = __getgroups (size, groups);
size *= 2;
- } while (n == size / 2);
+ }
+ while (n == size / 2);
- while (n >= 0)
- if (groups[n--] == gid)
+ while (n-- > 0)
+ if (groups[n] == gid)
return 1;
return 0;