summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_socket.c
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1998-08-31 15:34:55 +0000
committerwollman <wollman@FreeBSD.org>1998-08-31 15:34:55 +0000
commit639269dc951f914089f529a5d2d112128b8c35fc (patch)
tree4934195227222e47630e19e3c926d70e6f8f58d7 /sys/kern/uipc_socket.c
parent1d273f83401112b34167b08b1a4739ab21e9dde4 (diff)
downloadFreeBSD-src-639269dc951f914089f529a5d2d112128b8c35fc.zip
FreeBSD-src-639269dc951f914089f529a5d2d112128b8c35fc.tar.gz
Correctly set the return length regardless of the relative size of the
user's buffer. Simplify the logic a bit. (Can we have a version of min() for size_t?)
Diffstat (limited to 'sys/kern/uipc_socket.c')
-rw-r--r--sys/kern/uipc_socket.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index f429434..defd2a8 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)uipc_socket.c 8.3 (Berkeley) 4/15/94
- * $Id: uipc_socket.c,v 1.42 1998/07/18 18:48:45 fenner Exp $
+ * $Id: uipc_socket.c,v 1.43 1998/08/23 03:06:59 wollman Exp $
*/
#include <sys/param.h>
@@ -1083,11 +1083,8 @@ sooptcopyout(sopt, buf, len)
* interface is not idempotent; the entire answer must
* generated ahead of time.
*/
- valsize = len;
- if (sopt->sopt_valsize < valsize) {
- valsize = sopt->sopt_valsize;
- sopt->sopt_valsize = len;
- }
+ valsize = min(len, sopt->sopt_valsize);
+ sopt->sopt_valsize = len;
if (sopt->sopt_val != 0) {
if (sopt->sopt_p != 0)
error = copyout(buf, sopt->sopt_val, valsize);
OpenPOWER on IntegriCloud