[PATCH v3] resolv/nss_dns/dns-host: Get rid of alloca.

Andreas Schwab schwab@suse.de
Mon Aug 14 14:23:01 GMT 2023


On Aug 14 2023, Joe Simmons-Talbott via Libc-alpha wrote:

> diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
> index 1d60c51f5e..160a017d42 100644
> --- a/resolv/nss_dns/dns-host.c
> +++ b/resolv/nss_dns/dns-host.c
> @@ -395,8 +395,8 @@ _nss_dns_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
>     */
>    if (strchr (name, '.') == NULL)
>      {
> -      char *tmp = alloca (NS_MAXDNAME);
> -      const char *cp = __res_context_hostalias (ctx, name, tmp, NS_MAXDNAME);
> +      char tmp[NS_MAXDNAME];
> +      const char *cp = __res_context_hostalias (ctx, name, tmp, sizeof (tmp));
>        if (cp != NULL)
>  	name = cp;
>      }

We don't tolerate undefined behaviour in glibc.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."


More information about the Libc-alpha mailing list