getaddrinfo: Merge IPv6 addresses and IPv4 addresses [BZ #21295]

This commit is contained in:
Dmitry Bilunov 2017-06-24 16:49:34 +02:00 committed by Florian Weimer
parent 388b4f1a02
commit 5cf88a83f2
2 changed files with 10 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2017-06-24 Dmitry Bilunov <kmeaw@kmeaw.com>
[BZ #21295]
* sysdeps/posix/getaddrinfo.c (convert_hostent_to_gaih_addrtuple):
Append addresses at the end of the list.
2017-06-23 H.J. Lu <hongjiu.lu@intel.com>
[BZ #21666]

View File

@ -190,16 +190,16 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp,
/* Convert struct hostent to a list of struct gaih_addrtuple objects.
h_name is not copied, and the struct hostent object must not be
deallocated prematurely. *RESULT must be NULL or a pointer to an
object allocated using malloc, which is freed. */
deallocated prematurely. *RESULT must be NULL or a pointer to a
linked-list. The new addresses are appended at the end. */
static bool
convert_hostent_to_gaih_addrtuple (const struct addrinfo *req,
int family,
struct hostent *h,
struct gaih_addrtuple **result)
{
free (*result);
*result = NULL;
while (*result)
result = &(*result)->next;
/* Count the number of addresses in h->h_addr_list. */
size_t count = 0;