Page MenuHomeFreeBSD

D41488.1783517485.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D41488.1783517485.diff

Index: usr.bin/kdump/kdump.c
===================================================================
--- usr.bin/kdump/kdump.c
+++ usr.bin/kdump/kdump.c
@@ -1892,9 +1892,9 @@
printf("<invalid=%d>", sa->sa_family);
printf(", ");
-#define check_sockaddr_len(n) \
- if (sa_##n.s##n##_len < sizeof(struct sockaddr_##n)) { \
- printf("invalid"); \
+#define check_sockaddr_len(n, op, msg) \
+ if (sa->sa_len op sizeof(struct sockaddr_##n)) { \
+ printf("invalid " msg); \
break; \
}
@@ -1902,36 +1902,32 @@
case AF_INET: {
struct sockaddr_in sa_in;
- memset(&sa_in, 0, sizeof(sa_in));
- memcpy(&sa_in, sa, sa->sa_len);
- check_sockaddr_len(in);
+ check_sockaddr_len(in, <, "(short)");
+ memcpy(&sa_in, sa, sizeof(sa_in));
inet_ntop(AF_INET, &sa_in.sin_addr, addr, sizeof addr);
- printf("%s:%u", addr, ntohs(sa_in.sin_port));
+ printf("%s:%u ", addr, ntohs(sa_in.sin_port));
+ check_sockaddr_len(in, >, "(long)");
break;
}
case AF_INET6: {
struct sockaddr_in6 sa_in6;
- memset(&sa_in6, 0, sizeof(sa_in6));
- memcpy(&sa_in6, sa, sa->sa_len);
- check_sockaddr_len(in6);
+ check_sockaddr_len(in6, <, "(short)");
+ memcpy(&sa_in6, sa, sizeof(sa_in6));
getnameinfo((struct sockaddr *)&sa_in6, sizeof(sa_in6),
addr, sizeof(addr), NULL, 0, NI_NUMERICHOST);
- printf("[%s]:%u", addr, htons(sa_in6.sin6_port));
+ printf("[%s]:%u ", addr, htons(sa_in6.sin6_port));
+ check_sockaddr_len(in, >, "(long)");
break;
}
case AF_UNIX: {
- struct sockaddr_un sa_un;
-
- memset(&sa_un, 0, sizeof(sa_un));
- memcpy(&sa_un, sa, sa->sa_len);
- printf("%.*s", (int)sizeof(sa_un.sun_path), sa_un.sun_path);
+ printf("%.*s ", (int)sa->sa_len, sa->sa_data);
break;
}
default:
printf("unknown address family");
}
- printf(" }\n");
+ printf("}\n");
}
void

File Metadata

Mime Type
text/plain
Expires
Wed, Jul 8, 1:31 PM (3 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29029511
Default Alt Text
D41488.1783517485.diff (1 KB)

Event Timeline