Module Name: src Committed By: sjg Date: Wed Oct 30 18:35:06 UTC 2019
Modified Files: src/sys/dev/filemon: filemon.c Log Message: filemon_ioctl: check fd for write permission Reviewed by: christos Reported by: ivansprundel To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/sys/dev/filemon/filemon.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/dev/filemon/filemon.c diff -u src/sys/dev/filemon/filemon.c:1.30 src/sys/dev/filemon/filemon.c:1.31 --- src/sys/dev/filemon/filemon.c:1.30 Wed Jun 6 01:49:08 2018 +++ src/sys/dev/filemon/filemon.c Wed Oct 30 18:35:06 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: filemon.c,v 1.30 2018/06/06 01:49:08 maya Exp $ */ +/* $NetBSD: filemon.c,v 1.31 2019/10/30 18:35:06 sjg Exp $ */ /* * Copyright (c) 2010, Juniper Networks, Inc. * @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: filemon.c,v 1.30 2018/06/06 01:49:08 maya Exp $"); +__KERNEL_RCSID(0, "$NetBSD: filemon.c,v 1.31 2019/10/30 18:35:06 sjg Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -315,6 +315,11 @@ filemon_ioctl(struct file * fp, u_long c error = EBADF; break; } + if ((filemon->fm_fp->f_flag & FWRITE) == 0) { + closef(filemon->fm_fp); + filemon->fm_fp = NULL; + return (EBADF); + } /* Write the file header. */ filemon_comment(filemon); break;