about summary refs log tree commit diff
path: root/sysdeps/posix/getaddrinfo.c
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@sourceware.org>2022-03-02 11:45:29 +0530
committerSiddhesh Poyarekar <siddhesh@sourceware.org>2022-03-22 19:39:46 +0530
commitb587456c0e7b59dcfdbd2d44db000a3bc8244e57 (patch)
tree6b52cce5d1f03b71b349270206c5aa3a85a8097a /sysdeps/posix/getaddrinfo.c
parentac4653ef503d1e87893d1a6714748a1cdf4bf7ad (diff)
downloadglibc-b587456c0e7b59dcfdbd2d44db000a3bc8244e57.tar.gz
glibc-b587456c0e7b59dcfdbd2d44db000a3bc8244e57.tar.xz
glibc-b587456c0e7b59dcfdbd2d44db000a3bc8244e57.zip
gethosts: Return EAI_MEMORY on allocation failure
All other cases of failures due to lack of memory return EAI_MEMORY, so
it seems wrong to return EAI_SYSTEM here.  The only reason
convert_hostent_to_gaih_addrtuple could fail is on calloc failure.

Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Reviewed-by: DJ Delorie <dj@redhat.com>
Diffstat (limited to 'sysdeps/posix/getaddrinfo.c')
-rw-r--r--sysdeps/posix/getaddrinfo.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index f5d4a5cfd9..0ece3b46b7 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -303,13 +303,13 @@ gethosts (nss_gethostbyname3_r fct, int family, const char *name,
   else if (status == NSS_STATUS_SUCCESS)
     {
       if (!convert_hostent_to_gaih_addrtuple (req, family, &th, res))
-	return -EAI_SYSTEM;
+	return -EAI_MEMORY;
 
       if (localcanon != NULL && res->canon == NULL)
 	{
 	  char *canonbuf = __strdup (localcanon);
 	  if (canonbuf == NULL)
-	    return  -EAI_SYSTEM;
+	    return  -EAI_MEMORY;
 	  res->canon = canonbuf;
 	}
     }