diff --git a/usr.bin/procstat/procstat_files.c b/usr.bin/procstat/procstat_files.c index 7a55659abcb5..700f6438fe4b 100644 --- a/usr.bin/procstat/procstat_files.c +++ b/usr.bin/procstat/procstat_files.c @@ -106,8 +106,13 @@ addr_to_string(struct sockaddr_storage *ss, char *buffer, int buflen) case AF_INET: sin = (struct sockaddr_in *)ss; - snprintf(buffer, buflen, "%s:%d", inet_ntoa(sin->sin_addr), - ntohs(sin->sin_port)); + if (IS_INADDR_ANY(sin->sin_addr)) + snprintf(buffer, buflen, "%s:%d", "*", + ntohs(sin->sin_port)); + else if (inet_ntop(AF_INET, &sin->sin_addr, buffer2, + sizeof(buffer2)) != NULL) + snprintf(buffer, buflen, "%s:%d", buffer2, + ntohs(sin->sin_port)); break; case AF_INET6: