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 a000a92..83a64e8 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 663c7ec..8c352e9 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 7d94223..0e39836 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;