Module Name:    src
Committed By:   maxv
Date:           Fri Jan 31 09:01:23 UTC 2020

Modified Files:
        src/sys/compat/common: vfs_syscalls_30.c
        src/sys/compat/netbsd32: netbsd32_compat_30.c netbsd32_fs.c

Log Message:
Fix copyout overflows in fhstat, found by the LGTM bot. Not a big problem
since this syscall is privileged.


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/sys/compat/common/vfs_syscalls_30.c
cvs rdiff -u -r1.34 -r1.35 src/sys/compat/netbsd32/netbsd32_compat_30.c
cvs rdiff -u -r1.85 -r1.86 src/sys/compat/netbsd32/netbsd32_fs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/common/vfs_syscalls_30.c
diff -u src/sys/compat/common/vfs_syscalls_30.c:1.40 src/sys/compat/common/vfs_syscalls_30.c:1.41
--- src/sys/compat/common/vfs_syscalls_30.c:1.40	Fri Jan 17 20:08:06 2020
+++ src/sys/compat/common/vfs_syscalls_30.c	Fri Jan 31 09:01:23 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_syscalls_30.c,v 1.40 2020/01/17 20:08:06 ad Exp $	*/
+/*	$NetBSD: vfs_syscalls_30.c,v 1.41 2020/01/31 09:01:23 maxv Exp $	*/
 
 /*-
  * Copyright (c) 2005, 2008 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_30.c,v 1.40 2020/01/17 20:08:06 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_30.c,v 1.41 2020/01/31 09:01:23 maxv Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -190,7 +190,7 @@ compat_30_sys_fhstat(struct lwp *l,
 	if (error)
 		return (error);
 	cvtstat(&osb, &sb);
-	error = copyout(&osb, SCARG(uap, sb), sizeof(sb));
+	error = copyout(&osb, SCARG(uap, sb), sizeof(osb));
 	return (error);
 }
 

Index: src/sys/compat/netbsd32/netbsd32_compat_30.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_30.c:1.34 src/sys/compat/netbsd32/netbsd32_compat_30.c:1.35
--- src/sys/compat/netbsd32/netbsd32_compat_30.c:1.34	Fri Jan 17 20:08:06 2020
+++ src/sys/compat/netbsd32/netbsd32_compat_30.c	Fri Jan 31 09:01:23 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_30.c,v 1.34 2020/01/17 20:08:06 ad Exp $	*/
+/*	$NetBSD: netbsd32_compat_30.c,v 1.35 2020/01/31 09:01:23 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_30.c,v 1.34 2020/01/17 20:08:06 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_30.c,v 1.35 2020/01/31 09:01:23 maxv Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <opt_ntp.h>
@@ -199,7 +199,7 @@ compat_30_netbsd32_fhstat(struct lwp *l,
 	if (error)
 		return (error);
 	netbsd32_from___stat13(&sb, &sb32);
-	error = copyout(&sb32, SCARG_P32(uap, sb), sizeof(sb));
+	error = copyout(&sb32, SCARG_P32(uap, sb), sizeof(sb32));
 	return (error);
 }
 

Index: src/sys/compat/netbsd32/netbsd32_fs.c
diff -u src/sys/compat/netbsd32/netbsd32_fs.c:1.85 src/sys/compat/netbsd32/netbsd32_fs.c:1.86
--- src/sys/compat/netbsd32/netbsd32_fs.c:1.85	Thu Sep 26 01:32:09 2019
+++ src/sys/compat/netbsd32/netbsd32_fs.c	Fri Jan 31 09:01:23 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_fs.c,v 1.85 2019/09/26 01:32:09 christos Exp $	*/
+/*	$NetBSD: netbsd32_fs.c,v 1.86 2020/01/31 09:01:23 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.85 2019/09/26 01:32:09 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.86 2020/01/31 09:01:23 maxv Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -630,7 +630,7 @@ netbsd32___fhstat50(struct lwp *l, const
 	error = do_fhstat(l, SCARG_P32(uap, fhp), SCARG(uap, fh_size), &sb);
 	if (error == 0) {
 		netbsd32_from_stat(&sb, &sb32);
-		error = copyout(&sb32, SCARG_P32(uap, sb), sizeof(sb));
+		error = copyout(&sb32, SCARG_P32(uap, sb), sizeof(sb32));
 	}
 	return error;
 }

Reply via email to