]> git.ipfire.org Git - thirdparty/coreutils.git/commit
id: fix infinite loop on some systems
authorPádraig Brady <P@draigBrady.com>
Wed, 8 Apr 2009 09:43:15 +0000 (10:43 +0100)
committerPádraig Brady <P@draigBrady.com>
Thu, 9 Apr 2009 13:07:29 +0000 (14:07 +0100)
commitbf87a2c8ea4487ca4448c9fe42a9c9858400acbd
tree74ecdd17b278c53f6cfcaee0bac7e2e1ee03559e
parent148ddb3232e6319479222d4f7dee49b2c44ce21a
id: fix infinite loop on some systems

Steven Parkes reported that `id -G $USER` went into an infinite loop
on Darwin systems for users in more than 10 groups:
http://bugs.gentoo.org/show_bug.cgi?id=264007
* gl/lib/mgetgroups.c (mgetgroups): Work around buggy getgrouplist
implementations that don't update the required size correctly,
by doubling the result buffer and retrying. Also return the
parameter updated by getgrouplist rather than its return value,
as the documentation doesn't actually state the number of groups
stored is returned by getgrouplist.
* tests/misc/id-groups: Add test to exercise this logic
* tests/Makefile.am: Reference new test
* NEWS: Mention the fix
* THANKS: Update
NEWS
THANKS
gl/lib/mgetgroups.c
tests/Makefile.am
tests/misc/id-groups [new file with mode: 0755]