From 5f8340f583fe3d4f5734bd2371c5a45ecff2db0d Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Fri, 1 Sep 2017 09:15:36 +0200 Subject: [PATCH] getaddrinfo: Return EAI_NODATA if gethostbyname2_r reports NO_DATA [BZ #21922] --- ChangeLog | 6 ++++++ sysdeps/posix/getaddrinfo.c | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/ChangeLog b/ChangeLog index a04985f2c3..2cb929635a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-09-01 Florian Weimer + + [BZ #21922] + * sysdeps/posix/getaddrinfo.c (gaih_inet): Report EAI_NODATA error + coming from gethostbyname2_r. + 2017-09-01 Florian Weimer * support/namespace.h (struct support_chroot_configuration): Add diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index acb5d9e73d..0471a2f624 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -618,6 +618,14 @@ gaih_inet (const char *name, const struct gaih_service *service, } *pat = addrmem; } + else + { + if (h_errno == NO_DATA) + result = -EAI_NODATA; + else + result = -EAI_NONAME; + goto free_and_return; + } } else {