diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2026-07-17 13:08:33 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2026-07-27 17:34:32 +0000 |
| commit | a4b5ff57ef85031ba52feb70c754ba77f7c92cb0 (patch) | |
| tree | 2fb0e972b6b93061135a2ad12d29b8588c4085cf | |
| parent | fc14b7cb9f133572c6bbf48c72de59692bee7f31 (diff) | |
ktimer: Check for errors from realtimer_gettime()
clock_gettime(CLOCK_TAI) can fail, leaving *ovalue uninitialized.
Reported by: Hazley Samsudin of GovTech CSG
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58225
(cherry picked from commit 2f1ec7d159cbe56d40e7b6d7fc4188c9079e1783)
| -rw-r--r-- | sys/kern/kern_time.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c index 2cbb88a15b24..4b53561bc522 100644 --- a/sys/kern/kern_time.c +++ b/sys/kern/kern_time.c @@ -1633,8 +1633,11 @@ realtimer_settime(struct itimer *it, int flags, struct itimerspec *value, timespecclear(&val.it_interval); } - if (ovalue != NULL) - realtimer_gettime(it, ovalue); + if (ovalue != NULL) { + error = realtimer_gettime(it, ovalue); + if (error != 0) + return (error); + } it->it_time = val; if (timespecisset(&val.it_value)) { |
