about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2016-05-10 10:09:24 +0200
committerFlorian Weimer <fweimer@redhat.com>2016-05-10 10:09:24 +0200
commit8db2cf163e048b02cbafe118bf033b78618c2f30 (patch)
treeef6e9bcea5bf0334f212204ca2278f06b965016f
parent9e6e128d145157844cf446962a640eacafc54a01 (diff)
downloadglibc-8db2cf163e048b02cbafe118bf033b78618c2f30.tar.gz
glibc-8db2cf163e048b02cbafe118bf033b78618c2f30.tar.xz
glibc-8db2cf163e048b02cbafe118bf033b78618c2f30.zip
getaddrinfo: Restore RES_USE_INET6 flag on error path [BZ #19994]
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/posix/getaddrinfo.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 88c2b5dc7d..7131a286f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-05-10  Florian Weimer  <fweimer@redhat.com>
+
+	[BZ #19994]
+	* sysdeps/posix/getaddrinfo.c (gethosts): Restore RES_USE_INET6
+	flag in _res.options.
+
 2016-05-09  Joseph Myers  <joseph@codesourcery.com>
 
 	* conform/data/sys/types.h-data (blkcnt_t): Do not expect for
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index fed2d3bf13..c670a984b2 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -240,6 +240,7 @@ convert_hostent_to_gaih_addrtuple (const struct addrinfo *req,
 			      2 * tmpbuflen);				      \
 	if (newp == NULL)						      \
 	  {								      \
+	    _res.options |= old_res_options & RES_USE_INET6;		      \
 	    result = -EAI_MEMORY;					      \
 	    goto free_and_return;					      \
 	  }								      \