[PATCH 2/5] resolv: Check for inet_ntop failure in ns_sprintrrf

Andreas Schwab schwab@suse.de
Mon Jun 8 11:39:42 GMT 2026


On Apr 30 2026, Florian Weimer wrote:

> diff --git a/resolv/ns_print.c b/resolv/ns_print.c
> index cef2212fd2..5701e3d0c5 100644
> --- a/resolv/ns_print.c
> +++ b/resolv/ns_print.c
> @@ -141,7 +141,8 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>  	case ns_t_a:
>  	  if (rdlen != (size_t)NS_INADDRSZ)
>  			goto formerr;
> -		(void) inet_ntop(AF_INET, rdata, buf, buflen);
> +		if (inet_ntop (AF_INET, rdata, buf, buflen) == NULL)
> +		  return -1;
>  		addlen(strlen(buf), &buf, &buflen);
>  		break;
>  
> @@ -308,10 +309,11 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>  
>  	case ns_t_aaaa:
>  	  if (rdlen != (size_t)NS_IN6ADDRSZ)
> -			goto formerr;
> -		(void) inet_ntop(AF_INET6, rdata, buf, buflen);
> -		addlen(strlen(buf), &buf, &buflen);
> -		break;
> +	    goto formerr;
> +	  if (inet_ntop (AF_INET6, rdata, buf, buflen) == NULL)
> +	    return -1;
> +	  addlen(strlen(buf), &buf, &buflen);
> +	  break;
>  
>  	case ns_t_loc: {
>  		char t[255];

Since you are adjusting indentation, perhaps make these two hunks
consistent.

-- 
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