summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/kern_proc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
index 8039085..6034462 100644
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -1106,11 +1106,16 @@ sysctl_kern_proc_args(SYSCTL_HANDLER_ARGS)
if (!p)
return (ESRCH);
- if ((!ps_argsopen) && (error = p_cansee(curthread, p))) {
+ if ((error = p_cansee(curthread, p)) != 0) {
PROC_UNLOCK(p);
return (error);
}
+ if (!ps_argsopen) {
+ PROC_UNLOCK(p);
+ return (EPERM);
+ }
+
if (req->newptr && curproc != p) {
PROC_UNLOCK(p);
return (EPERM);
OpenPOWER on IntegriCloud