aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-10-31 16:48:45 -0400
committerUlrich Drepper <drepper@gmail.com>2011-10-31 16:48:45 -0400
commitf4ec483382e167469def497422dbb30fee5f5f32 (patch)
tree2706e91b09ed2a560dc89cd8ce0bd78eeecbafac
parent0ffc4f3ebaace42cd545db55a2ac50b6e0cc7d89 (diff)
downloadglibc-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--ChangeLog4
-rw-r--r--NEWS4
-rw-r--r--nss/getent.c6
3 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a000a92..83a64e8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/NEWS b/NEWS
index 663c7ec..8c352e9 100644
--- a/NEWS
+++ b/NEWS
@@ -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;