From 332c4465b00f7445dc83f9052290209e68c1ab0d Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 30 Oct 2008 16:55:44 +0000 Subject: * grp/initgroups.c (internal_getgrouplist): Don't prematurely abort if there is no initgroups_dyn function. --- ChangeLog | 3 +++ grp/initgroups.c | 11 +++-------- resolv/res_send.c | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4decd23..fc587e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2008-10-30 Ulrich Drepper + * grp/initgroups.c (internal_getgrouplist): Don't prematurely + abort if there is no initgroups_dyn function. + * resolv/res_send.c (send_dg): On timeout, only return nonzero result if any of the queries really provided an answer. diff --git a/grp/initgroups.c b/grp/initgroups.c index 2e48946..cab63e5 100644 --- a/grp/initgroups.c +++ b/grp/initgroups.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1989,91,93,1996-2005,2006 Free Software Foundation, Inc. +/* Copyright (C) 1989,91,93,1996-2005,2006,2008 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -94,13 +94,8 @@ internal_getgrouplist (const char *user, gid_t group, long int *size, fct = __nss_lookup_function (nip, "initgroups_dyn"); if (fct == NULL) - { - status = compat_call (nip, user, group, &start, size, groupsp, - limit, &errno); - - if (nss_next_action (nip, NSS_STATUS_UNAVAIL) != NSS_ACTION_CONTINUE) - break; - } + status = compat_call (nip, user, group, &start, size, groupsp, + limit, &errno); else status = DL_CALL_FCT (fct, (user, group, &start, size, groupsp, limit, &errno)); diff --git a/resolv/res_send.c b/resolv/res_send.c index 7c3d620..8f0a601 100644 --- a/resolv/res_send.c +++ b/resolv/res_send.c @@ -1008,7 +1008,7 @@ send_dg(res_state statp, } if (n == 0) { Dprint(statp->options & RES_DEBUG, (stdout, ";; timeout\n")); - if (recvresp1 > 1 || (buf2 != NULL && recvresp2 > 1)) + if (resplen > 1 && (recvresp1 || (buf2 != NULL && recvresp2))) { *resplen2 = 1; return resplen; -- cgit v1.1