Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/kern/uipc_socket.c,v retrieving revision 1.180 retrieving revision 1.181 diff -u -p -r1.180 -r1.181 --- src/sys/kern/uipc_socket.c 2009/01/14 20:33:19 1.180 +++ src/sys/kern/uipc_socket.c 2009/01/14 23:28:23 1.181 @@ -1,4 +1,4 @@ -/* $NetBSD: uipc_socket.c,v 1.180 2009/01/14 20:33:19 cegger Exp $ */ +/* $NetBSD: uipc_socket.c,v 1.181 2009/01/14 23:28:23 christos Exp $ */ /*- * Copyright (c) 2002, 2007, 2008 The NetBSD Foundation, Inc. @@ -63,7 +63,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: uipc_socket.c,v 1.180 2009/01/14 20:33:19 cegger Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uipc_socket.c,v 1.181 2009/01/14 23:28:23 christos Exp $"); #include "opt_compat_netbsd.h" #include "opt_sock_counters.h" @@ -1587,8 +1587,6 @@ sosetopt1(struct socket *so, const struc struct linger l; struct timeval tv; - memset(&tv, 0, sizeof(struct timeval)); - switch ((opt = sopt->sopt_name)) { case SO_ACCEPTFILTER: @@ -1701,7 +1699,7 @@ sosetopt1(struct socket *so, const struc case SO_SNDTIMEO: case SO_RCVTIMEO: - if (error) + if (error == 0) error = sockopt_get(sopt, &tv, sizeof(tv)); solock(so); if (error)