diff --git a/sched/timer/timer_create.c b/sched/timer/timer_create.c index 40016f8fe6f..57b9800bc33 100644 --- a/sched/timer/timer_create.c +++ b/sched/timer/timer_create.c @@ -164,7 +164,9 @@ int timer_create(clockid_t clockid, FAR struct sigevent *evp, /* Sanity checks. */ if (timerid == NULL || (clockid != CLOCK_REALTIME && - clockid != CLOCK_MONOTONIC && clockid != CLOCK_BOOTTIME)) + clockid != CLOCK_MONOTONIC && clockid != CLOCK_BOOTTIME) || + (evp != NULL && evp->sigev_notify == SIGEV_SIGNAL && + !GOOD_SIGNO(evp->sigev_signo))) { set_errno(EINVAL); return ERROR;