This is impossible, because we pass a destination buffer that is appropriately sized to hold an IPv6 address.
This is related to GitHub issue #1599. --- src/tools.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/tools.c b/src/tools.c index b9a1121c6..ce82fea4a 100644 --- a/src/tools.c +++ b/src/tools.c @@ -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; + } if (map_ports) return memprintf(&out, "%s:%+d", buffer, port); else -- 2.36.1