id: handle systems without getgroups support
commit9b4b38f56e854f8f1343fed9dbc225ffbb1d77d4
authorEric Blake <ebb9@byu.net>
Fri, 4 Dec 2009 15:06:55 +0000 (4 08:06 -0700)
committerEric Blake <ebb9@byu.net>
Sat, 5 Dec 2009 02:18:06 +0000 (4 19:18 -0700)
tree019ad2a21b62a3ec30eec76b5891c8a749abc377
parent5224fbd6f904633b72f4bfa9d64e903744b0beae
id: handle systems without getgroups support

If getgroups failed with ENOSYS, mgetgroups would unnecessarily
fail, and that provoked id into freeing an uninitialized pointer.
Meanwhile, we were not using xalloc_die properly.  Both issues
are better solved in gnulib, by introducing xgetgroups; this
patch uses the new interface.

Regression introduced by commit 6a31fd8d7.

* gnulib: Update, for mgetgroups improvments.
* src/id.c (print_full_info): Adjust caller to die on allocation
failure, and no longer worry about ENOSYS.
* src/group-list.c (print_group_list): Likewise.
* src/setuidgid.c (main): Likewise.
* NEWS: Mention the fix.
* THANKS: Update.
Reported by Scott Harrison.
NEWS
THANKS
gnulib
src/group-list.c
src/id.c
src/setuidgid.c