getaddrinfo: Fix localplt failure involving strdup

This commit is contained in:
Florian Weimer 2017-06-02 16:35:13 +02:00
parent ca4b396ebe
commit 6257fcfd58
2 changed files with 17 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2017-06-02 Florian Weimer <fweimer@redhat.com>
* sysdeps/posix/getaddrinfo.c (gethosts): Eliminate another
strdupa.
(getcanonname): Use __strdup instead of strdup.
2017-06-02 Adhemerval Zanella <adhemerval.zanella@linaro.org> 2017-06-02 Adhemerval Zanella <adhemerval.zanella@linaro.org>
* misc/Makefile (CFLAGS-preadv2.c): New rule. * misc/Makefile (CFLAGS-preadv2.c): New rule.

View File

@ -286,9 +286,16 @@ convert_hostent_to_gaih_addrtuple (const struct addrinfo *req,
} \ } \
*pat = addrmem; \ *pat = addrmem; \
\ \
if (localcanon != NULL && canon == NULL) \ if (localcanon != NULL && canon == NULL) \
canon = strdupa (localcanon); \ { \
\ canonbuf = __strdup (localcanon); \
if (canonbuf == NULL) \
{ \
result = -EAI_SYSTEM; \
goto free_and_return; \
} \
canon = canonbuf; \
} \
if (_family == AF_INET6 && *pat != NULL) \ if (_family == AF_INET6 && *pat != NULL) \
got_ipv6 = true; \ got_ipv6 = true; \
} \ } \
@ -330,7 +337,7 @@ getcanonname (service_user *nip, struct gaih_addrtuple *at, const char *name)
string. */ string. */
s = (char *) name; s = (char *) name;
} }
return strdup (name); return __strdup (name);
} }
static int static int