Page MenuHomeFreeBSD

D54375.id169486.diff
No OneTemporary

D54375.id169486.diff

diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c
--- a/usr.bin/sockstat/main.c
+++ b/usr.bin/sockstat/main.c
@@ -926,8 +926,9 @@
formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize)
{
struct sockaddr_un *sun;
- char addrstr[NI_MAXHOST] = { '\0', '\0' };
+ char addrstr[NI_MAXHOST] = "";
int error, off, port = 0;
+ bool needs_ipv6_brackets = false;
switch (ss->ss_family) {
case AF_INET:
@@ -938,6 +939,8 @@
case AF_INET6:
if (IN6_IS_ADDR_UNSPECIFIED(&sstosin6(ss)->sin6_addr))
addrstr[0] = '*';
+ else
+ needs_ipv6_brackets = true;
port = ntohs(sstosin6(ss)->sin6_port);
break;
case AF_UNIX:
@@ -946,7 +949,7 @@
if (is_xo_style_encoding) {
xo_emit("{:path/%.*s}", sun->sun_len - off,
sun->sun_path);
- return 0;
+ return (0);
}
return snprintf(buf, bufsize, "%.*s",
sun->sun_len - off, sun->sun_path);
@@ -960,11 +963,16 @@
if (is_xo_style_encoding) {
xo_emit("{:address/%s}", addrstr);
xo_emit("{:port/%d}", port);
- return 0;
+ return (0);
+ }
+ if (needs_ipv6_brackets) {
+ if (port == 0)
+ return (snprintf(buf, bufsize, "[%s]:*", addrstr));
+ return (snprintf(buf, bufsize, "[%s]:%d", addrstr, port));
}
if (port == 0)
- return snprintf(buf, bufsize, "%s:*", addrstr);
- return snprintf(buf, bufsize, "%s:%d", addrstr, port);
+ return (snprintf(buf, bufsize, "%s:*", addrstr));
+ return (snprintf(buf, bufsize, "%s:%d", addrstr, port));
}
static const char *

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 15, 11:43 AM (11 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27621284
Default Alt Text
D54375.id169486.diff (1 KB)

Event Timeline