From fc390727730fdda50e6ae75e5251f0d76eb76ad7 Mon Sep 17 00:00:00 2001 From: rwatson Date: Thu, 28 Jun 2001 22:53:42 +0000 Subject: Add error checking for copyin() operations in posix4 scheduling code. --- sys/kern/p1003_1b.c | 8 ++++++-- sys/posix4/p1003_1b.c | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'sys') diff --git a/sys/kern/p1003_1b.c b/sys/kern/p1003_1b.c index cf2c7da..7ae378d 100644 --- a/sys/kern/p1003_1b.c +++ b/sys/kern/p1003_1b.c @@ -169,7 +169,9 @@ int sched_setparam(struct proc *p, int e; struct sched_param sched_param; - copyin(uap->param, &sched_param, sizeof(sched_param)); + e = copyin(uap->param, &sched_param, sizeof(sched_param)); + if (e) + return (e); (void) (0 || (e = p31b_proc(p, uap->pid, &p)) @@ -202,7 +204,9 @@ int sched_setscheduler(struct proc *p, int e; struct sched_param sched_param; - copyin(uap->param, &sched_param, sizeof(sched_param)); + e = copyin(uap->param, &sched_param, sizeof(sched_param)); + if (e) + return (e); (void) (0 || (e = p31b_proc(p, uap->pid, &p)) diff --git a/sys/posix4/p1003_1b.c b/sys/posix4/p1003_1b.c index cf2c7da..7ae378d 100644 --- a/sys/posix4/p1003_1b.c +++ b/sys/posix4/p1003_1b.c @@ -169,7 +169,9 @@ int sched_setparam(struct proc *p, int e; struct sched_param sched_param; - copyin(uap->param, &sched_param, sizeof(sched_param)); + e = copyin(uap->param, &sched_param, sizeof(sched_param)); + if (e) + return (e); (void) (0 || (e = p31b_proc(p, uap->pid, &p)) @@ -202,7 +204,9 @@ int sched_setscheduler(struct proc *p, int e; struct sched_param sched_param; - copyin(uap->param, &sched_param, sizeof(sched_param)); + e = copyin(uap->param, &sched_param, sizeof(sched_param)); + if (e) + return (e); (void) (0 || (e = p31b_proc(p, uap->pid, &p)) -- cgit v1.1