diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-10-31 16:48:45 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-10-31 16:48:45 -0400 |
commit | f4ec483382e167469def497422dbb30fee5f5f32 (patch) | |
tree | 2706e91b09ed2a560dc89cd8ce0bd78eeecbafac | |
parent | 0ffc4f3ebaace42cd545db55a2ac50b6e0cc7d89 (diff) | |
download | glibc-f4ec483382e167469def497422dbb30fee5f5f32.zip glibc-f4ec483382e167469def497422dbb30fee5f5f32.tar.gz glibc-f4ec483382e167469def497422dbb30fee5f5f32.tar.bz2 |
Unify getent output for initgroups database
Requests for other fail if iteration is not supported and no parameters
are given. Do this for initgroups as well.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | nss/getent.c | 6 |
3 files changed, 12 insertions, 2 deletions
@@ -1,5 +1,9 @@ 2011-10-31 Ulrich Drepper <drepper@gmail.com> + [BZ #13367] + * nss/getent.c (initgroups_keys): Show error message in case no group + names are given. + * include/ifaddrs.h: Declare __free_in6ai and __bump_nl_timestamp. * inet/check_pf.c: Provide dummy versions of __free_in6ai and __bump_nl_timestamp. @@ -1,4 +1,4 @@ -GNU C Library NEWS -- history of user-visible changes. 2011-10-29 +GNU C Library NEWS -- history of user-visible changes. 2011-10-31 Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc. See the end for copying conditions. @@ -12,7 +12,7 @@ Version 2.15 6779, 6783, 9696, 10709, 11589, 12403, 12847, 12868, 12852, 12874, 12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092, 13114, 13118, 13123, 13134, 13138, 13150, 13179, 13192, 13268, 13276, - 13291, 13335, 13337, 13344, 13358 + 13291, 13335, 13337, 13344, 13358, 13367 * New program pldd to list loaded object of a process Implemented by Ulrich Drepper. diff --git a/nss/getent.c b/nss/getent.c index 7d94223..0e39836 100644 --- a/nss/getent.c +++ b/nss/getent.c @@ -518,6 +518,12 @@ initgroups_keys (int number, char *key[]) size_t grpslen = ngrps * sizeof (gid_t); gid_t *grps = alloca (grpslen); + if (number == 0) + { + fprintf (stderr, _("Enumeration not supported on %s\n"), "initgroups"); + return 3; + } + for (int i = 0; i < number; ++i) { int no = ngrps; |