diff options
author | zont <zont@FreeBSD.org> | 2013-02-12 18:48:11 +0000 |
---|---|---|
committer | zont <zont@FreeBSD.org> | 2013-02-12 18:48:11 +0000 |
commit | 524959b2e6bc4ab341e8a95142ce2182069f66ec (patch) | |
tree | 97420ae5b67164b3c22c513b63baa79908890844 | |
parent | 6da471ce0205104fc4ba5b07ac0e084a5a77c6fd (diff) | |
download | FreeBSD-src-524959b2e6bc4ab341e8a95142ce2182069f66ec.zip FreeBSD-src-524959b2e6bc4ab341e8a95142ce2182069f66ec.tar.gz |
- Use correct size of copying different socket structures.
MFC after: 1 week
-rw-r--r-- | usr.bin/kdump/kdump.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c index bd3ceab..851a457 100644 --- a/usr.bin/kdump/kdump.c +++ b/usr.bin/kdump/kdump.c @@ -1443,7 +1443,7 @@ ktrsockaddr(struct sockaddr *sa) struct sockaddr_in sa_in; memset(&sa_in, 0, sizeof(sa_in)); - memcpy(&sa_in, sa, sizeof(sa)); + memcpy(&sa_in, sa, sa->sa_len); check_sockaddr_len(in); inet_ntop(AF_INET, &sa_in.sin_addr, addr, sizeof addr); printf("%s:%u", addr, ntohs(sa_in.sin_port)); @@ -1455,7 +1455,7 @@ ktrsockaddr(struct sockaddr *sa) struct netrange *nr; memset(&sa_at, 0, sizeof(sa_at)); - memcpy(&sa_at, sa, sizeof(sa)); + memcpy(&sa_at, sa, sa->sa_len); check_sockaddr_len(at); nr = &sa_at.sat_range.r_netrange; printf("%d.%d, %d-%d, %d", ntohs(sa_at.sat_addr.s_net), @@ -1468,7 +1468,7 @@ ktrsockaddr(struct sockaddr *sa) struct sockaddr_in6 sa_in6; memset(&sa_in6, 0, sizeof(sa_in6)); - memcpy(&sa_in6, sa, sizeof(sa)); + memcpy(&sa_in6, sa, sa->sa_len); check_sockaddr_len(in6); inet_ntop(AF_INET6, &sa_in6.sin6_addr, addr, sizeof addr); printf("[%s]:%u", addr, htons(sa_in6.sin6_port)); @@ -1479,7 +1479,7 @@ ktrsockaddr(struct sockaddr *sa) struct sockaddr_ipx sa_ipx; memset(&sa_ipx, 0, sizeof(sa_ipx)); - memcpy(&sa_ipx, sa, sizeof(sa)); + memcpy(&sa_ipx, sa, sa->sa_len); check_sockaddr_len(ipx); /* XXX wish we had ipx_ntop */ printf("%s", ipx_ntoa(sa_ipx.sipx_addr)); @@ -1491,7 +1491,7 @@ ktrsockaddr(struct sockaddr *sa) struct sockaddr_un sa_un; memset(&sa_un, 0, sizeof(sa_un)); - memcpy(&sa_un, sa, sizeof(sa)); + memcpy(&sa_un, sa, sa->sa_len); check_sockaddr_len(un); printf("%.*s", (int)sizeof(sa_un.sun_path), sa_un.sun_path); break; |