Author: zont
Date: Tue Feb 12 18:48:11 2013
New Revision: 246719
URL: http://svnweb.freebsd.org/changeset/base/246719

Log:
  - Use correct size of copying different socket structures.
  
  MFC after:    1 week

Modified:
  head/usr.bin/kdump/kdump.c

Modified: head/usr.bin/kdump/kdump.c
==============================================================================
--- head/usr.bin/kdump/kdump.c  Tue Feb 12 18:38:01 2013        (r246718)
+++ head/usr.bin/kdump/kdump.c  Tue Feb 12 18:48:11 2013        (r246719)
@@ -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;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to