aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--NEWS2
-rw-r--r--hesiod/nss_hesiod/hesiod-grp.c27
3 files changed, 5 insertions, 28 deletions
diff --git a/ChangeLog b/ChangeLog
index 9a8bab6..7c1543c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2013-03-28 Siddhesh Poyarekar <siddhesh@redhat.com>
+ [BZ #15304]
+ * hesiod/nss_hesiod/hesiod-grp.c (_nss_hesiod_initgroups_dyn):
+ Don't add gid passed as argument.
+
* sysdeps/ieee-754/dbl-64/e_atan2.c: Reformat.
2013-03-27 Joseph Myers <joseph@codesourcery.com>
diff --git a/NEWS b/NEWS
index 11c79bb..0902478 100644
--- a/NEWS
+++ b/NEWS
@@ -12,7 +12,7 @@ Version 2.18
11120, 11561, 12723, 13550, 13889, 13951, 14142, 14176, 14200, 14317,
14327, 14496, 14812, 14920, 14964, 14981, 14982, 14985, 14994, 14996,
15003, 15006, 15020, 15023, 15036, 15054, 15055, 15062, 15078, 15160,
- 15232, 15234, 15283, 15285, 15287, 15307.
+ 15232, 15234, 15283, 15285, 15287, 15304, 15307.
* Add support for calling C++11 thread_local object destructors on thread
and program exit. This needs compiler support for offloading C++11
diff --git a/hesiod/nss_hesiod/hesiod-grp.c b/hesiod/nss_hesiod/hesiod-grp.c
index c2ae166..b11952f 100644
--- a/hesiod/nss_hesiod/hesiod-grp.c
+++ b/hesiod/nss_hesiod/hesiod-grp.c
@@ -191,33 +191,6 @@ _nss_hesiod_initgroups_dyn (const char *user, gid_t group, long int *start,
return errno == ENOENT ? NSS_STATUS_NOTFOUND : NSS_STATUS_UNAVAIL;
}
- if (!internal_gid_in_list (groups, group, *start))
- {
- if (__builtin_expect (*start == *size, 0))
- {
- /* Need a bigger buffer. */
- gid_t *newgroups;
- long int newsize;
-
- if (limit > 0 && *size == limit)
- /* We reached the maximum. */
- goto done;
-
- if (limit <= 0)
- newsize = 2 * *size;
- else
- newsize = MIN (limit, 2 * *size);
-
- newgroups = realloc (groups, newsize * sizeof (*groups));
- if (newgroups == NULL)
- goto done;
- *groupsp = groups = newgroups;
- *size = newsize;
- }
-
- groups[(*start)++] = group;
- }
-
save_errno = errno;
p = *list;