On Sun, May 22, 2022 at 01:06:28PM +0200, Tim Duesterhus wrote: > @@ -1374,7 +1374,10 @@ char * sa2str(const struct sockaddr_storage *addr, int > port, int map_ports) > default: > return NULL; > } > - inet_ntop(addr->ss_family, ptr, buffer, sizeof(buffer)); > + if (inet_ntop(addr->ss_family, ptr, buffer, sizeof(buffer)) == NULL) { > + BUG_ON("inet_ntop failed to convert"); > + return NULL; > + }
Hmm no, please at least check errno for ENOSPC on this one, because some minimalistic libcs (or older ones) properly report EAFNOSUPPORT when passed AF_INET6 addresses that they do not support, and we don't want to crash at runtime when an address is updated.. Maybe such a variant instead ? - inet_ntop(addr->ss_family, ptr, buffer, sizeof(buffer)); + if (inet_ntop(addr->ss_family, ptr, buffer, sizeof(buffer)) == NULL) { + BUG_ON(erro == ENOSPC); + return NULL; + } Willy