[PATCH v2 12/12] gethosts: Return EAI_MEMORY on allocation failure

DJ Delorie dj@redhat.com
Thu Mar 17 05:06:14 GMT 2022


Siddhesh Poyarekar via Libc-alpha <libc-alpha@sourceware.org> writes:
> 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.

LGTM.

Reviewed-by: DJ Delorie <dj@redhat.com>

> diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
> index eebed824a8..5cd988bec5 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;
>  	}
>      }



More information about the Libc-alpha mailing list