diff --git a/components/lwp/lwp_syscall.c b/components/lwp/lwp_syscall.c index 88e8f7c33c9bfbe8cc545eafd6fa08aa69a90e4a..276f7c18b1ee1dd9185a327eb396fe7d0e66cad0 100644 --- a/components/lwp/lwp_syscall.c +++ b/components/lwp/lwp_syscall.c @@ -1348,7 +1348,7 @@ rt_err_t sys_timer_create(clockid_t clockid, struct sigevent *restrict sevp, tim lwp_get_from_user(&timerid_k, (void *)timerid, sizeof(timerid_k)); /* to protect unsafe implementation in current rt-smart toolchain */ - RT_ASSERT(((struct ksigevent *)sevp)->sigev_tid == (rt_ubase_t)sevp_k.sigev_notify_function); + RT_ASSERT(((struct ksigevent *)sevp)->sigev_tid == *(int *)(&sevp_k.sigev_notify_function)); ret = timer_create(clockid, &sevp_k, &timerid_k);