summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_proc.c')
-rw-r--r--sys/kern/kern_proc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
index f45ac26..883e2fa 100644
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -709,10 +709,11 @@ sysctl_kern_proc_args(SYSCTL_HANDLER_ARGS)
return (error);
PROC_LOCK(p);
- if (p->p_args && --p->p_args->ar_ref == 0)
- FREE(p->p_args, M_PARGS);
+ pa = p->p_args;
p->p_args = NULL;
PROC_UNLOCK(p);
+ if (pa != NULL && --pa->ar_ref == 0)
+ FREE(pa, M_PARGS);
if (req->newlen + sizeof(struct pargs) > ps_arg_cache_limit)
return (error);
OpenPOWER on IntegriCloud