From 53754ff50acfba0ef4ebae21150b49762c5919ef Mon Sep 17 00:00:00 2001 From: Shell Date: Sat, 2 Mar 2024 16:05:19 +0800 Subject: [fixup] check NULL pointer before access (#8573) Signed-off-by: Shell --- src/scheduler_mp.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/scheduler_mp.c b/src/scheduler_mp.c index 1a6c5ae983..7397e1071e 100644 --- a/src/scheduler_mp.c +++ b/src/scheduler_mp.c @@ -1255,8 +1255,15 @@ rt_uint16_t rt_critical_level(void) current_thread = rt_cpu_self()->current_thread; - /* the necessary memory barrier is done on irq_(dis|en)able */ - critical_lvl = RT_SCHED_CTX(current_thread).critical_lock_nest; + if (current_thread) + { + /* the necessary memory barrier is done on irq_(dis|en)able */ + critical_lvl = RT_SCHED_CTX(current_thread).critical_lock_nest; + } + else + { + critical_lvl = 0; + } rt_hw_local_irq_enable(level); return critical_lvl; -- cgit v1.3.1