From 843449130a2a8b4d7bcbd745b9baa21f6035c7bb Mon Sep 17 00:00:00 2001 From: sourceturner <126549-sourceturner@users.noreply.gitlab.redox-os.org> Date: Wed, 6 May 2026 00:07:55 +0200 Subject: [PATCH] fix wrong null checks while it is true that timer_t is implemented as a pointer, this does not mean that timer_t cannot be 0. actually, on linux, the first timer created seems to have a timer_t value of 0 by default --- src/header/time/mod.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/header/time/mod.rs b/src/header/time/mod.rs index f0f69e9903..d6160cb70a 100644 --- a/src/header/time/mod.rs +++ b/src/header/time/mod.rs @@ -584,9 +584,6 @@ pub unsafe extern "C" fn timer_create( /// See . #[unsafe(no_mangle)] pub unsafe extern "C" fn timer_delete(timerid: timer_t) -> c_int { - if timerid.is_null() { - return Err(Errno(EFAULT)).or_minus_one_errno(); - } Sys::timer_delete(timerid).map(|()| 0).or_minus_one_errno() } @@ -599,7 +596,7 @@ pub extern "C" fn timer_getoverrun(timerid: timer_t) -> c_int { /// See . #[unsafe(no_mangle)] pub unsafe extern "C" fn timer_gettime(timerid: timer_t, value: *mut itimerspec) -> c_int { - if timerid.is_null() || value.is_null() { + if value.is_null() { return Err(Errno(EFAULT)).or_minus_one_errno(); } let value = unsafe { Out::nonnull(value) }; @@ -616,7 +613,7 @@ pub unsafe extern "C" fn timer_settime( value: *const itimerspec, ovalue: *mut itimerspec, ) -> c_int { - if timerid.is_null() || value.is_null() { + if value.is_null() { return Err(Errno(EFAULT)).or_minus_one_errno(); } let (value, ovalue) = unsafe { (&*value, Out::nullable(ovalue)) };