diff options
author | 2015-08-24 14:00:28 +0000 | |
---|---|---|
committer | 2015-08-24 14:00:28 +0000 | |
commit | 9c7945350d596b87caf3da22e5cdabd8b67cb09c (patch) | |
tree | a3d2db076d59036e1313e580c2cb6927abd562f1 /sys/nfs | |
parent | Mark up command arguments properly using Cm. (diff) | |
download | wireguard-openbsd-9c7945350d596b87caf3da22e5cdabd8b67cb09c.tar.xz wireguard-openbsd-9c7945350d596b87caf3da22e5cdabd8b67cb09c.zip |
In kernel initialize struct sockaddr_in and sockaddr_in6 to zero
everywhere to avoid passing around pointers to uninitialized stack
memory. While there, fix the call to in6_recoverscope() in
fill_drlist().
OK deraadt@ mpi@
Diffstat (limited to 'sys/nfs')
-rw-r--r-- | sys/nfs/krpc_subr.c | 5 | ||||
-rw-r--r-- | sys/nfs/nfs_socket.c | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/sys/nfs/krpc_subr.c b/sys/nfs/krpc_subr.c index eb3ab4c134c..eddad29015a 100644 --- a/sys/nfs/krpc_subr.c +++ b/sys/nfs/krpc_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: krpc_subr.c,v 1.28 2015/07/15 22:16:42 deraadt Exp $ */ +/* $OpenBSD: krpc_subr.c,v 1.29 2015/08/24 14:00:29 bluhm Exp $ */ /* $NetBSD: krpc_subr.c,v 1.12.4.1 1996/06/07 00:52:26 cgd Exp $ */ /* @@ -270,7 +270,8 @@ krpc_call(struct sockaddr_in *sa, u_int prog, u_int vers, u_int func, MGET(m, M_WAIT, MT_SONAME); sin = mtod(m, struct sockaddr_in *); - sin->sin_len = m->m_len = sizeof (struct sockaddr_in); + memset(sin, 0, sizeof(*sin)); + sin->sin_len = m->m_len = sizeof(struct sockaddr_in); sin->sin_family = AF_INET; sin->sin_addr.s_addr = INADDR_ANY; sin->sin_port = htons(0); diff --git a/sys/nfs/nfs_socket.c b/sys/nfs/nfs_socket.c index a5a2a88cf75..168c70f7de7 100644 --- a/sys/nfs/nfs_socket.c +++ b/sys/nfs/nfs_socket.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nfs_socket.c,v 1.110 2015/07/15 22:16:42 deraadt Exp $ */ +/* $OpenBSD: nfs_socket.c,v 1.111 2015/08/24 14:00:29 bluhm Exp $ */ /* $NetBSD: nfs_socket.c,v 1.27 1996/04/15 20:20:00 thorpej Exp $ */ /* @@ -258,7 +258,8 @@ nfs_connect(struct nfsmount *nmp, struct nfsreq *rep) MGET(m, M_WAIT, MT_SONAME); sin = mtod(m, struct sockaddr_in *); - sin->sin_len = m->m_len = sizeof (struct sockaddr_in); + memset(sin, 0, sizeof(*sin)); + sin->sin_len = m->m_len = sizeof(struct sockaddr_in); sin->sin_family = AF_INET; sin->sin_addr.s_addr = INADDR_ANY; sin->sin_port = htons(0); |