+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-05-11 Florian Weimer <fweimer@redhat.com>
* support/support_format_addrinfo.c (format_ai_flags_1): Renamed
[21242] assert: Suppress pedantic warning caused by statement expression
[21265] x86-64: Use fxsave/xsave/xsavec in _dl_runtime_resolve
[21289] Fix symbol redirect for fts_set
+ [21295] getaddrinfo: Merge IPv6 addresses and IPv4 addresses
[21298] rwlock can deadlock on frequent reader/writer phase switching
[21359] resolv: Support an exactly sized buffer in ns_name_pack
[21386] Assertion in fork for distinct parent PID is incorrect
/* 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;