Unify getent output for initgroups database
authorUlrich Drepper <drepper@gmail.com>
Mon, 31 Oct 2011 20:48:45 +0000 (16:48 -0400)
committerUlrich Drepper <drepper@gmail.com>
Mon, 31 Oct 2011 20:48:45 +0000 (16:48 -0400)
Requests for other fail if iteration is not supported and no parameters
are given.  Do this for initgroups as well.

ChangeLog
NEWS
nss/getent.c

index a000a92a6bbbc3687cd2ec8aca2bcfd6194fa53b..83a64e83580b63cf8eb05827eea9281791ea6951 100644 (file)
--- 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 663c7ec94555688e37d8ff671240b80f80bd6162..8c352e9cbfd3d1538d4c0566da6a0dafd7e91207 100644 (file)
--- 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.
index 7d9422373ceea7e5d202c0e8fcbcfb92eb690ffa..0e398361793db5d07aaedd2b9fc91b870c837eb4 100644 (file)
@@ -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;