diff options
author | Peter Holm <pho@FreeBSD.org> | 2011-11-18 19:14:42 +0000 |
---|---|---|
committer | Peter Holm <pho@FreeBSD.org> | 2011-11-18 19:14:42 +0000 |
commit | 7bbcd22d38c689b92e7fe9d2487e4e18258147a1 (patch) | |
tree | 08c3ed3c8f9a1b01121a2a329a6e429f93764c9f /sys | |
parent | 1a1f41b8fe8684072cbfd63a9404b2e0553c135e (diff) | |
download | src-7bbcd22d38c689b92e7fe9d2487e4e18258147a1.tar.gz src-7bbcd22d38c689b92e7fe9d2487e4e18258147a1.zip |
Added check for negative seconds value. Found by syscall() fuzzing.
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=227674
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_thr.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/kern_thr.c b/sys/kern/kern_thr.c index 7ce0925e6d27..881fd55053d6 100644 --- a/sys/kern/kern_thr.c +++ b/sys/kern/kern_thr.c @@ -474,7 +474,8 @@ kern_thr_suspend(struct thread *td, struct timespec *tsp) } if (tsp != NULL) { - if (tsp->tv_nsec < 0 || tsp->tv_nsec > 1000000000) + if (tsp->tv_sec < 0 || tsp->tv_nsec < 0 || + tsp->tv_nsec > 1000000000) return (EINVAL); if (tsp->tv_sec == 0 && tsp->tv_nsec == 0) error = EWOULDBLOCK; |