[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r7239 - in /fsf/trunk/libc: ChangeLog grp/initgroups.c resolv/res_send.c



Author: eglibc
Date: Fri Oct 31 00:03:16 2008
New Revision: 7239

Log:
Import glibc-mainline for 2008-10-31

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/grp/initgroups.c
    fsf/trunk/libc/resolv/res_send.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Oct 31 00:03:16 2008
@@ -1,3 +1,11 @@
+2008-10-30  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* 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.
+
 2008-10-28  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* po/lt.po: Update from translation team.

Modified: fsf/trunk/libc/grp/initgroups.c
==============================================================================
--- fsf/trunk/libc/grp/initgroups.c (original)
+++ fsf/trunk/libc/grp/initgroups.c Fri Oct 31 00:03:16 2008
@@ -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 @@
       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));

Modified: fsf/trunk/libc/resolv/res_send.c
==============================================================================
--- fsf/trunk/libc/resolv/res_send.c (original)
+++ fsf/trunk/libc/resolv/res_send.c Fri Oct 31 00:03:16 2008
@@ -1008,7 +1008,7 @@
 	}
 	if (n == 0) {
 		Dprint(statp->options & RES_DEBUG, (stdout, ";; timeout\n"));
-		if (recvresp1 || (buf2 != NULL && recvresp2))
+		if (resplen > 1 && (recvresp1 || (buf2 != NULL && recvresp2)))
 		  {
 		    *resplen2 = 1;
 		    return resplen;