From b9eabd15fd31699f2da788da6f8601d2d9b534da Mon Sep 17 00:00:00 2001 From: Jeremie Le Hen Date: Wed, 9 Oct 2019 20:01:23 +0000 Subject: [PATCH] Use inet_ntop(3) instead of inet_ntoa(3) for AF_INET socket details. This also makes the code closer to the one used for AF_INET6. --- usr.bin/procstat/procstat_files.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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: