summary refs log tree commit diff
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.tar.gz
glibc-f4ec483382e167469def497422dbb30fee5f5f32.tar.xz
glibc-f4ec483382e167469def497422dbb30fee5f5f32.zip
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 a000a92a6b..83a64e8358 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 663c7ec945..8c352e9cbf 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 7d9422373c..0e39836179 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;